Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Foundations of quantum programming
Ying M., Morgan Kaufmann Publishers Inc., San Francisco, CA, 2016. 372 pp. Type: Book (978-0-128023-06-8)
Date Reviewed: Jan 19 2017

We keep hearing several buzzwords: big data, Internet of Things, machine learning, and quantum computing. This last one is the most “futuristic” among them in the sense that you cannot go online and buy a quantum computer to be shipped to you. However, many big companies (like IBM, Alphabet, and Microsoft) are investing heavily in quantum computing. So, it is a real technology with a real potential that is still in its infancy. This book discusses a very pivotal part of quantum computing: quantum programming. How shall we program those machines? What can we use from software practices for classical computers? What new concepts do we need to tackle? These are all topics discussed in this book.

Before reading it, you need to have background knowledge about quantum mechanics and quantum computation, and familiarity with programming language theory. Without these prerequisites, it will not be easy to follow this book. Although the author tried to make the book self-contained by discussing some basics in chapter 2 (titled “Preliminaries”), this chapter really is a memory refresh of something the intended readers should already know and is not enough to get the most from the book. You will get some ideas but not many of the details if you don’t have the prerequisite background. The preliminaries (Hilbert space, quantum circuits, and so on) are discussed in Part 1 of the book, especially in chapter 2.

The main theme of the book is imperative quantum programming. The author mentions that most of the ideas and techniques presented can also be applied to functional quantum programming. In all cases, the main goal is to exploit quantum parallelism (superposition, entanglement, and so on).

In any program, classical or quantum, we have two things: data and control. The data is quantum data. The book discusses two schemes. The first is classical control to manipulate quantum data. This scheme is called “superposition of data” and is discussed in Part 2 of the book. The second scheme is quantum control and quantum data, called “superposition of programs.” This scheme is discussed in Part 3 of the book. The research in this second scheme is still at a very early stage and requires a different way of thinking than what we are used to in classical computing, even though we will hear familiar statements like case, if-else, recursion, and so on.

For each of the parts that cover the two programming schemes, the author discusses the syntax of the languages, the semantics (to be able to understand the philosophy of the language beneath its syntax), and the verification and analysis of quantum programs.

The issue of quantum programming languages is very vast and, therefore, the author did not discuss many other related topics. This is, as the author mentioned, also due to his limited knowledge about those extra topics. But he ends the book with a single chapter, constituting Part 4 of the book, providing a quick discussion of these topics, such as entanglement, quantum compilation, and so on.

All in all, this is a good book, especially because it has a comprehensive list of references. There are also some exercises, mainly proofs. Readers will learn a lot from the book, but must have the prerequisite knowledge first.

Reviewer:  Mohamed Zahran Review #: CR145013 (1704-0222)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Physics (J.2 ... )
 
 
Electronics (J.2 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Physics": Date
Computational astrophysics
Arnett W. Communications of the ACM 28(4): 354-357, 1985. Type: Article
Sep 1 1985
Computer simulation methods: in theoretical physics
Heermann D., Springer-Verlag New York, Inc., New York, NY, 1986. Type: Book (9780378169660)
Jul 1 1987
Computing in high energy physics
Hertzberger L., Hoogland W. (ed)  Computing in high energy physics,Amsterdam, The Netherlands,1986. Type: Whole Proceedings
Mar 1 1989
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy