Principles of Quantum Computation and Information – Volume I:Basic Concepts