  An essential element of classical computation is the "if-then" construct,
that accepts a control bit and an arbitrary gate, and provides conditional
execution of the gate depending on the value of the controlling bit. On the
other hand, quantum theory prevents the existence of an analogous universal
construct accepting a control qubit and an arbitrary quantum gate as its input.
Nevertheless, there are controllable sets of quantum gates for which such a
construct exists. Here we provide a necessary and sufficient condition for a
set of unitary transformations to be controllable, and we give a complete
characterization of controllable sets in the two dimensional case. This result
reveals an interesting connection between the problem of controllability and
the problem of extracting information from an unknown quantum gate while using
it.
