In the discussion following Brian Bailey's blog, Operations per Joule, the subject of quantum computing came up. I posted a couple of links, one regarding a potential type of optical quantum computer called a Boson Sampling Computer, one about Google's interests in quantum computing.
Quantum computers are viewed as being superior for certain kinds of problems, for example where there are many possible paths. Consider Figure 1, a schematic representation of a network of water pipes. (Note: Analogies to acoustic systems or fluid dynamic systems are often used to convey general concepts in electrical and RF systems -- just don't push the analogy too far!) The water entering each pipe at the top (from the faucets) can take many possible paths to reach the pipes leaving the bottom.
Calculating the flow rate exiting at the bottom given the rates from each faucet at the top is hard (left diagram), but doable with existing computers. Calculating the paths of every molecule is much harder, but a quantum computer might do it in seconds.
(Source: EAF LLC)
A similar problem has been solved for photons in an optical network using the Boson sampling method mentioned in the first paragraph. A waveguide network used for Boson sampling is shown schematically in Figure 2.
Schematic representation of a network of waveguides created in silica.
(Source: "Experimental boson sampling", Nature Publishing Group, 1749-4893, http://dx.doi.org/10.1038/nphoton.2013.102; used with permission of the author)
Boson sampling is similar to analog computing, where a physical configuration of the computer solves certain problems. In the boson sampling case, a pattern of waveguides is created in silica using lasers, then used to solve for the photon distribution exiting the pattern.
A traditional digital computer would calculate values of equations at every point of a mesh representing the interior space of the network of pipes, and iterate to find a steady state solution. We could use that solution to determine how much water would come out of each bottom pipe, given flow rates entering at the top.
Now suppose we wanted a solution at the particle level -- i.e., we want to follow every molecule of water from start to finish. While, in principle, we could do that using statistical models with the bulk equations, the problem would quickly use up all the computing power we have. For a large-enough network, it would become impossible to solve in a reasonable time.
A quantum computer (one using quantum bits, or qubits, not the boson sampling method noted earlier), on the other hand, could calculate the position and velocity of every molecule, by investigating all possible states simultaneously. It is this inherent parallel computing property that gives quantum computing so much promise. Other problems of this sort include simulation of communication and road networks, and mimicking the human brain for artificial intelligence.
In Part 2, we will continue to look at quantum computing and consider the comparison to analog computing.