  We present a new algorithm for reducing an arbitrary unitary matrix into a
sequence of elementary operations (operations such as controlled-nots and qubit
rotations). Such a sequence of operations can be used to manipulate an array of
quantum bits (i.e., a quantum computer). We report on a C++ program called
"Qubiter" that implements our algorithm. Qubiter source code is publicly
available.

Quantum Physics