Arthur O. Pittenger, An introduction to quantum computing algorithms, Birkhauser, 2000. A. Yu Kitaev, A. H. Shen, M. N. Vyalyi, Classical and quantum computation, American Mathematical Society, 2002.