Principles of Quantum Computation and in by Giuliano Benenti & Giulio Casati