Quantum Computation and Quantum Information by