Explorations in Quantum Computing - Williams, Colin P.; Gries, David (Springer London, 2011)