11

I was told that quantum computers are not computationally more powerful than Turing machines. Could someone kindly help in giving some literature references explaining that fact?

Raphael
  • 72,336
  • 29
  • 179
  • 389

3 Answers3

10

What is actually the case is that anything a quantum computer can compute, a Turing machine can also compute. (This is without commenting at all on how long it takes the Turing machine to compute the function compared to a quantum computer.)

This is actually not difficult to see, provided you understand quantum computation. For a quantum circuit over a typical gate set, for example, the outcome is governed by a probability distribution, which is determined by the coefficients of a unitary matrix. That unitary matrix is just a matrix product of those of the gates, and can be computed — if you're patient enough — by a classical computer. So for sheer computability (as opposed to efficiency), there is no advantage to using quantum computers.

The whole challenge arising from quantum mechanics is to determine whether such coefficients can be computed efficiently, which is a more demanding problem than whether they can be computed at all.

Niel de Beaudrap
  • 4,171
  • 1
  • 17
  • 32
  • While my beginner's knowledge tells me that a quantum circuit represents a Hadamard matrix transformation, I can't yet see how a programming possibility to do arbitrary matrix computations on a classical computer could be a subsitute of physically having a quantum circuit. For example, my book says about generating random numbers as follows:
    1. |x> <-- |0>
    2. |x> <-- H|x>
    3. Measure |x>

    What would in particular step 3 correspond to programming on a classical computer?

    – Mok-Kong Shen Oct 25 '12 at 02:07
  • A (properly normalised) Hadamard matrix is only one possible unitary transformation. For your computation, we can recognise that a deterministic Turing machine can compute the probability distribution (0.5, 0.5) consisting of the norms-squared of the first column of the Hadamard matrix $\bigl|\langle b |H|0\rangle\bigr|^2$, and that for a randomised Turing machine (which can perform coin-flips), we can go a step further and produce a sample from that probability distribution. In any case, any function computed by the quantum circuit with error < 1/2, a classical machine also can. – Niel de Beaudrap Oct 25 '12 at 07:54
  • @Mok-Kong Shen: in case it isn't clear from my remarks about inefficiency or slowness, it is commonly supposed that quantum computers are more computationally powerful in the sense of being able to compute more quickly. I've been addressing the fact that they are not able to compute things which a classical computer could not also compute (where I discount the notion of "flipping a coin" as computation). – Niel de Beaudrap Oct 25 '12 at 10:10
10

Consider a quantum gate. Smoothing out all the technical details, it can be represented as a matrix $G$. An input to the gate, say $\vert \phi \rangle$ is just a vector $v$, and the output of the gate is the vector $Gv$.

Now, consider a circuit. A circuit is just a bunch of gates $\{G_1, G_2, ... \}$, and the circuit itself can be seen as a "generalized gate" $C=G_n \cdots G_2 G_1$, which operates on the input state (the vector $v$).
[Again, this is a very coarse abstraction.]

So basically, computing a circuit on an input $\vert \phi \rangle$, is merely computing the vector $Cv$ or $ G_n \cdots G_2 G_1 v$. It's clear that such a task (matrix multiplication and multiplication of matrix by vector) can be done by a classical TM, therefore, TM is at least as strong as a quantum-TM (QTM)
[ok, classical circuits are as strong as quantum circuits. nevermind that.]

On the other hand QTM is trivially as strong as TM, and therefore, both models are equivalent.


EDIT due to comments
In order to ask which "computer" is more powerful, we need to first clarify what it means to be more "computationally powerful". And this semi-philosophical discussion begins with the question

What is computation?

Is "playing MP3" files a computation? Is outputting random numbers a computation?

The standard definition says that a computation is "computing a function". That is, for every input $x$ (which can be any string of any finite length), output $y=f(x)$, where again $y$ can be a string of arbitrary (finite) length. If your computer can output $y$ for any $x$, we say that it can compute $f$.

Now, to say that computer "A" is more powerful than "B" just means that A computes more functions $f$ than $B$. Similarly,

Two models, $A$ and $B$ are considered equivalent if, for any function $f$, $A$ computes $f$ if and only if $B$ computes $f$.

OK, you say, but wait a second, there is randomization.. A quantum computer does not just output $y$. It outputs $y_1$ with probability $p_1$, or $y_2$ with probability $p_2$, or ....$^0$

Indeed.. And this extends the standard definition of computing a function. We can resolve it, and generalize our definitions in several ways. (1) one option is to say that the answer of $f(x)$ is that specific $y_i$ that has probability $p_i>0.75$ (and there is at most one such value)$^1$. If we Assume that $f$ outputs only a single bit, then "the output of $f(x)$ is always well defined$^2$. Otherwise, if no such value exists, and all the outputs have small probability we can say $f$ is not defined on that input; (2) A second option is to say that the output of $f(x)$ is the list $(y_1,p_1), (y_2,p_2),...$. For this to be well defined, we must have a finite list, since we required the output string to be finite.

With the above, it should be clear that having probabilities doesn't change the power of the model, and a classical TM can just output the list of possible outputs along with the probability for each output. this is exactly what happens when a TM multiplies matrices and outputs a vector — the vector represents the probability of each and every possible measurement output.

$^0$This issue is not unique to quantum computing. Classical probabilistic computing "suffers" from the same issue.
$^1$Why $p=0.75$? No reason. Any constant larger than $1/2$ would work.
$^2$Why assuming $f$ outputs one bit? because it is enough.. We can reduce any more complex function to one or more functions with a single-bit output. But this doesn't matter to our discussion.

Ran G.
  • 20,684
  • 3
  • 60
  • 115
  • I could program matrix computations on a classical computer but don't know how to write a code to simulate a quantum computation. I'll need anyway quantum bits. A quantum bit has 2 values commonly denoted by alpha and beta. What values should I use? See also my comment to the answer of Niel de Beaudrap for the case of random number generation. – Mok-Kong Shen Oct 25 '12 at 07:20
  • @Mok-Kong Shen: those values sound like they're coefficients in a superposition $\def\ket#1{|#1\rangle}\ket\psi = \alpha\ket0 + \beta\ket1$. But recall that the Dirac notation is merely a vector notation: this is exactly the same as writing $\pmb\psi = [\alpha\quad\beta]^\top$ using the usual convention. Those coefficients are just vector/matrix coefficients, which is what the classical computer evaluates in order to (slowly) simulate the quantum computer. – Niel de Beaudrap Oct 25 '12 at 08:02
  • @Niel de Beaudrap: But when I write a code to simulate a certain quantum compuation, e.g. the random number generation I mentioned, I need to implement simulated quantum bits on classical computer. I am ignorant of how to write code to do that without knowing the values of these coefficients. – Mok-Kong Shen Oct 25 '12 at 08:18
  • @Mok-Kong Shen: the point is that at run-time, you do know; and the problem is exactly the same as sampling from a classical probability distribution which is specified at the input, i.e. it reduces to well-studied problems in random sampling. Monte Carlo methods apply here, for instance. – Niel de Beaudrap Oct 25 '12 at 08:25
  • @Niel de Beaudrap: [Addendum] If a classical computer has to "somehow" obtain true randomness and with that to simulate quantum bits, then that means it needs that "in addition" to the matrix operations (which is simple). But one knows on the other hand it is extremely hard to get "genuinely" true randomness and this would question the validity of the simulation, I am afraid. – Mok-Kong Shen Oct 25 '12 at 08:29
  • @Mok-Kong Shen: however, to compute functions (rather than simulate probability distributions), that sampling is in fact unnecessary. A classical computer then only needs to check if there are any outcomes whose probability is > 0.5, because if the quantum computer is meant to be computing a function, only outcomes with high probability can be the outcome. So that ought to address your original question about computation per se. – Niel de Beaudrap Oct 25 '12 at 08:34
  • @Niel de Beaudrap: I am not arguing whether computing functions in the classical sense (i.e. in normal programming) makes a difference between quantum and classical computers. I am interested to know whether quantum computers could eventually be superior to classical ones. If in certain cases a classical computer couldn't "genuinely" simulate a quantum computer, then that would imply a difference in their capabilities IMHO. – Mok-Kong Shen Oct 25 '12 at 08:40
  • @Niel de Beaudrap: [Addendum] BTW I don't see how to code "to check if there are any outcomes whose probability is > 0.5". – Mok-Kong Shen Oct 25 '12 at 08:50
  • @Mok-Kong Shen: then you are interested in something other than the currently accepted definition of "computability", and must specify what you actually mean to get an answer. As for determining when the probability of an outcome is > 0.5, simply compute the probabilities of all outcomes, using the techniques described by both of the current answers here, until you find one (or have witnessed that all probabilities are < 0.5) — it's not meant to be difficult; only it's likely to be terribly inefficient. – Niel de Beaudrap Oct 25 '12 at 10:04
  • @Niel de Beaudrap: Sorry that I don't yet understand. How "many" outcomes do I need to compute so that I know that I have computed the probabilities of "all" outcomes? As to "computability" I mean that's simply the realm of all classes of problems that a machine can solve "in principle", entirely independent of the efficiency issue. That's conform to the what is meant in the original Church-Turing Thesis, if I don't err. – Mok-Kong Shen Oct 25 '12 at 10:20
  • @Mok-KongShen: it suffices to compute the probability of all the outcomes (i.e. all of the outcomes, of which there are exponentially many, but a known number). Because computability concerns functions, then the answer is that even a deterministic Turing machine can compute any function — including decision functions, i.e. functions having range {yes,no} — which can be computed by a quantum circuit (in which we typically take the answer which has probability > 0.5 for any circuit). The rest is just details about the precise way in which a quantum circuit "computes a function". – Niel de Beaudrap Oct 25 '12 at 10:53
  • @Niel de Beaudrap: Ok. Referring to the algorithm of random number generation I quoted previously, exactly how many outcomes need I compute in a code written, say, in C and how does that code actually look like? – Mok-Kong Shen Oct 25 '12 at 10:57
  • @Mok-KongShen: it sounds as though you're talking about simulation again, now. How one should best go about simulating a quantum circuit by a randomized algorithm is a separate question. If you're just interested in "the function computed by a quantum circuit", I encourage you to think about the more general question of how to determine whether any outcomes of a probability distribution is greater than 0.5; and if you're interested in how to write a program to evaluate matrix products, I suggest you ask this on a mathematical programming forum. – Niel de Beaudrap Oct 25 '12 at 11:02
  • @Niel de Beaudrap: If one machine cannot simulate another, then they are not equal in their computability by definition in my view. And computability as such is certainly relevant to this forum, or not? – Mok-Kong Shen Oct 25 '12 at 11:06
  • @Niel de Beaudrap: You repeatedly mentioned the issue of probabilty distribution. I don't know how to actually go about with that. As far as I know óne needs to have a confidence interval and that is "arbitrary" in the practice and not suitable in this context in my view. – Mok-Kong Shen Oct 25 '12 at 11:23
  • @Mok-KongShen: you are equivocating between "computability" (the ability to compute a function) and ability to sample from a probability distribution. As to computability, there is no distinction between what Turing machines and quantum computers can compute. For sampling, a deterministic Turing machine unable to simulate even a randomized Turing machine; while a randomized Turing machine is able to simulate a quantum Turing machine (albeit probably with exponential slowdown). Meanwhile, "exactly how many outcomes need I compute in a code written, say, in C" is not really CS. – Niel de Beaudrap Oct 25 '12 at 11:30
  • @Mok-KongShen: don't overthink the probability distribution... you are not estimating the probabilities by matrix multiplication using the deterministic simulation, but actually computing them. Unless you're worried about whether the probability is equal to 0.5 to within machine precision, determining whether the probability is > 0.5 is straightforward, and you only need to concern yourself with ensuring that the numerical error of your computations is small enough somehow. That's ultimately a question of the mathematical libraries you use for complex matrix multiplication. – Niel de Beaudrap Oct 25 '12 at 11:33
  • @Niel de Beaudrap: The issue of probability distribution was raised originally by you, if I don't err. For me what I like to know is how to "actually" simulate one machine with another. If you could tell me a way without probability distribution and sampling, all the better. – Mok-Kong Shen Oct 25 '12 at 11:35
  • @Mok-KongShen: I raised it because quantum computers are a probabilistic model of computation. I am only saying that a simple brute-force approach, while inefficient, certainly does determine what the probabilities are. But now I now have no idea by what, precisely, you are looking for from "a simulation". If you could revise your question to clarify what precisely you are looking for, that would be best. Otherwise, I do not see how either my or Ran's answer is inadequate to completely characterize the outcome distribution, and thereby compute the function which the quantum circuit computes. – Niel de Beaudrap Oct 25 '12 at 11:47
  • @Niel de Beaudrap: I want to know whether a quantum computer is superior to a conventional computer in the sense that the former can solve certain problems that the latter cannnot do even "in principle", i.e. if it is provided with arbitrary large storage etc. and computing time. I like to have a rigorous statement about that, one way or the other. – Mok-Kong Shen Oct 25 '12 at 11:53
  • @Mok-Kong Shen: we have given you the answer, if by "solve problems" one means "compute functions". – Niel de Beaudrap Oct 25 '12 at 11:59
  • @Niel de Beaudrap: Then please substitute your phrase into my last post accordingly. What's exactly the answer? And what's the proof of that? – Mok-Kong Shen Oct 25 '12 at 12:02
  • @Mok-KongShen: to repeat — the answer is "no". This is because what function a quantum computer (e.g. a circuit) "computes" is determined by the probabilities of each measurement outcome. While difficult to ascertain empirically, these probabilities are determined exactly by the gates in the circuit. The output is the unique outcome whose probability is > 0.5. Because it is possible to compute these probabilities, a Turing machine can determine what that outcome is by simply computing the probability distribution over all possible outcomes, and producing the output with probability > 0.5. – Niel de Beaudrap Oct 25 '12 at 12:29
  • @Niel de Beaudrap: I suppose you mean a uniform distribution. Consider the analogous case of throwing a coin, if the result is tail, what information does one have? Is that probability > 0.5 or otherwise? One expects that, if the coin is fair, then with "infinite" throws one would get half the throws in tail. But I don't know what the result of one throw or even one thousand throws could mean in our context (noting also that one doesn't know a priori whether a coin is fair or not). – Mok-Kong Shen Oct 25 '12 at 12:39
  • @Mok-KongShen: why would I mean a uniform distribution? The quantum circuit prepares a superposition over standard basis states, yielding some probability distribution upon measurement. The values of those probabilities are in fact determined by the circuit; as a model of computation, the probability doesn't even have to be estimated. It is a mathematical fact whether one of the outcomes has probability > 0.5. The "output" is taken to be the outcome for which that holds. (For bounded error computation, we further require the probability to be well bounded away from 0.5, e.g. >0.66.) – Niel de Beaudrap Oct 25 '12 at 12:44
  • There is a special case, wherein two outcomes have probability precisely 0.5. In that case, the function is ill-defined, i.e. the input for which this happens is not in the domain of the function being computed. Your 'coin flip' example would therefore not be interpreted as computing any function, as the function has no well-defined result. If your coin had a slight bias towards heads, your coin would "compute" the constant function f(x) = heads. – Niel de Beaudrap Oct 25 '12 at 12:49
  • @Niel de Beaudrap: If one doesn't know the "exact" distribution, how could one even know whether the probability of an outcome is > 0.5, even if one takes an arbitrarily chosen confidence interval into consideration? – Mok-Kong Shen Oct 25 '12 at 12:49
  • @Mok-KongShen: Given the circuit, one can compute the exact distribution. The probability of each outcome is a number, which on classical inputs is determined by one of the coefficients of the unitary matrix describing the circuit. That unitary matrix can be computed as a matrix/tensor product of the matrices given by the individual gates. They are just numbers. In the same way that you can compute that the chance of the sequence HHTHT with a fair coin is exactly 1/32, you can compute the entries of the unitary. If you don't know how that works, post another question about it. – Niel de Beaudrap Oct 25 '12 at 12:51
  • 1
    @Mok-KongShen Please do not use comments (especially on someone else's post) for extended discussions. Go to chat, either in the general room for this site or in a chatroom created for the purpose. – Gilles 'SO- stop being evil' Oct 25 '12 at 12:53
1

other answers are valid, just want to add one that emphasizes this is really a very deep (largely still open/unresolved) question at the heart of much modern research into complexity class separations and quantum vs classical computing. they are functionally equivalent as far as TMs and QM computers are both proven Turing complete; there are several ways to prove this.

but equivalence in complexity theory very much hinges on time and space subtleties/efficiencies ie resources to compute particular algorithms. and theres also a huge amount of research looking at "noise" in QM computing that considers that theoretical noiseless models may not be "real" or achievable in practice and real models may/will have significant noise. there are complex schemes to mitigate this noise, etc.; there is some excellent commentary on this in various posts in RJ Liptons blog eg flying machines of the 21st century

for example it has been proven that factoring is in BQP, the class of quantum algorithms that run in P time, by Shor in a famous proof that at the time also launched a large amount of serious study/reseach into QM computing because of the dramatic result.

however even with "noiseless" QM models its an open question whether P $\stackrel{?}{=}$ BQP where the former denotes a classical complexity class of efficient Poly-time algorithms and BQP is the class of efficient/Poly-time QM algorithms. and there are various similar open questions.

Scott Aaronson is an excellent writer/researcher on the subj and has written some papers accessable to the layman. see eg The limits of QM computers, SciAm or QM computing promises new insights, NYT.

vzn
  • 11,034
  • 1
  • 27
  • 50