Explorations In Quantum Computing by Colin P. Williams