##
**Classical and quantum computation.**
*(English)*
Zbl 1022.68001

Graduate Studies in Mathematics. 47. Providence, RI: AMS, American Mathematical Society. xiii, 257 p. (2002).

The main text is divided into two parts about classical computation (40 pages) and quantum computation (120 pages), followed by a part with solutions to selected exercises (70 pages) and an appendix on elementary number theory (10 pages).

The first part on classical computation gives an introduction to computational complexity that covers deterministic, nondeterministic and probabilistic Turing machines and corresponding complexity classes defined in terms of time or space bounds, as well as Boolean circuits, reducibilities, the theory of NP-completeness, the hierarchy of complexity classes between P and PSPACE, including a couple of more advanced results like the containment of BPP in the second level of the polynomial hierarchy. This part is well readable and understandable, the treatment is elegant and essentially self-contained; the exposition is slightly terse and can probably only be used for an introductory course when occasionally adding technical details.

The second part on quantum computation covers quantum circuits, quantum computation and the class BQP, quantum algorithms for the Abelian hidden subgroup problem, quantum NP-completeness, and quantum codes. R. De Wolf points out in his review of the book [Quantum Inf. Comp. 1, 95-96 (2003)] that the part on quantum computation focusses on issues that are related to Kitaev’s work in this area, giving a not fully self-contained but detailed and insightful exposition of these topics, which “will provide the researcher with invaluable insights and tools for new research”, while, on the other hand, a considerable amount of more recent results and even some standard material in computer science aspects of quantum computation are missing, e.g., neither the Deutsch-Jozsa algorithm nor certain applications of Grover’s algorithm are discussed.

The first part on classical computation gives an introduction to computational complexity that covers deterministic, nondeterministic and probabilistic Turing machines and corresponding complexity classes defined in terms of time or space bounds, as well as Boolean circuits, reducibilities, the theory of NP-completeness, the hierarchy of complexity classes between P and PSPACE, including a couple of more advanced results like the containment of BPP in the second level of the polynomial hierarchy. This part is well readable and understandable, the treatment is elegant and essentially self-contained; the exposition is slightly terse and can probably only be used for an introductory course when occasionally adding technical details.

The second part on quantum computation covers quantum circuits, quantum computation and the class BQP, quantum algorithms for the Abelian hidden subgroup problem, quantum NP-completeness, and quantum codes. R. De Wolf points out in his review of the book [Quantum Inf. Comp. 1, 95-96 (2003)] that the part on quantum computation focusses on issues that are related to Kitaev’s work in this area, giving a not fully self-contained but detailed and insightful exposition of these topics, which “will provide the researcher with invaluable insights and tools for new research”, while, on the other hand, a considerable amount of more recent results and even some standard material in computer science aspects of quantum computation are missing, e.g., neither the Deutsch-Jozsa algorithm nor certain applications of Grover’s algorithm are discussed.

Reviewer: Wolfgang Merkle (Heidelberg)

### MSC:

68-01 | Introductory exposition (textbooks, tutorial papers, etc.) pertaining to computer science |

81-01 | Introductory exposition (textbooks, tutorial papers, etc.) pertaining to quantum theory |

68Q05 | Models of computation (Turing machines, etc.) (MSC2010) |

68-02 | Research exposition (monographs, survey articles) pertaining to computer science |

81-02 | Research exposition (monographs, survey articles) pertaining to quantum theory |

68Q15 | Complexity classes (hierarchies, relations among complexity classes, etc.) |

03D15 | Complexity of computation (including implicit computational complexity) |

94B60 | Other types of codes |