Quantum Computation and Communication by Andrea Casaccino