Quantum Computation and Quantum Information by Iaac L. Chuang & M.A. Nielsen