Quantum computation and information - Nielson, Michael (CUP, 2003)