In classical information theory, the concept of the universal computer can be represented by several equivalent models, corresponding to different scientific approaches. From a mathematical point of view, a universal computer is a machine capable of calculating partial recursive functions, computer scientists often use the Turing machine as their favourite model, an electro-engineer would possibly speak of logic circuits while a programmer certainly will prefer a universal programming language.
As for quantum computation, each of these classical concepts has a quantum counterpart:
The moral equivalent in QC to partial recursive functions are unitary operators. As every classically computable problem can be reformulated as calculating the value of a partial recursive function, each quantum computation must have a corresponding unitary operator.
(1.1) |
According to the Copenhagen interpretation of quantum physics, the setup and outcome of any quantum mechanical experiment must be formulated in classical terms. We thus need 2 additional Operations for setting up a defined initial state and for measuring the output.
The classical outcome of the measurement is where is a mapping . 1.1
Since the mathematical model treats unitary operators as black boxes, no complexity measure is provided.
In analogy to the classic Turing Machine (TM) several propositions of Quantum Turing Machines (QTM), as a model of a universal quantum computer have been made [3,1].
The complete machine-state is thereby given by a superposition of base-states , where is the inner state of the head, the head position and the binary representation of the tape-content. To keep separable, the (infinite) bit-string has to meet the zero tail state condition i.e. only a finite number of bits with are allowed.
The quantum analogon to the transition function of a classic probabilistic TM is the step operator , which has to be unitary to allow for the existence of a corresponding Hamiltonian1.2 and meet locality conditions for the effected tape-qubit, as well as for head movement.
QTMs provide a measure for execution times, but - as with the classical TM - finding an appropriate step operator can be very hard and runtime-complexity (i.e. the number of applications of in relation to the problem size) remains an issue. Outside quantum complexity theory, QTMs are of minor importance.
Quantum circuits are the QC equivalent to classical boolean feed-forward networks, with one major difference: since all quantum computations have to be unitary, all quantum circuits can be evaluated in both directions (as with classical reversible logic). Quantum circuits are composed of elementary gates and operate on qubits, thus where is the (fixed) number of qubits.
The actual unitary transformation performed
by a -qubit gate depends on the -dimensional
subspace
corresponding to the
particular positions of the input qubits.
Let be the 2 dimensional operator () of a gate operating on the
-th qubit of the state
and
the -qubit identity operator,
then the resulting operator is
To allow for implementation of all possible unitary transformations,
a universal set of elementary gates must be available, out of which
composed gates can be constructed.
One possible set (as proposed by Deutsch) [4] is e.g.
with
(1.3) |
As opposed to the operator formalism, the gate-notation is an inherently constructive method and - other than QTMs - the complexity of the problem is directly reflected in the number of gates necessary to implement it.
When it comes to programming and the design of non-classic algorithms, we can look at operator-algebra as the specification and quantum gates as the assembly language of QC.
The lack of typical programming techniques as local quantum variables, scratch space management and dynamic register lengths as generic features in either formalism makes the the actual implementation1.4 of non-trivial quantum algorithms very complex and difficult (see [13] for an example) since the classical ``divide and conquer'' approach is only of limited use.
Another problem is the classical control structure: Due to their probabilistic nature, evaluation of measurements and conditional retries are part of almost any quantum algorithm, however they cannot be described within the traditional formalism.
The purpose of QCL is, to fill this gap and serve as a high-level programming language for quantum computing.