Quantum computation: Difference between revisions
imported>Charles Blackham (categories) |
imported>Charles Blackham (algorithm intro, oracles, Deutsch beginning) |
||
Line 10: | Line 10: | ||
==Quantum Algorithms== | ==Quantum Algorithms== | ||
An algorithm is a '''hardware-independant''' recipe for performing a particular computation. A program is a way of preparing a specific computer to do such a task. Algorithms for quantum computers offer a wider range of computational tasks which may be solved by the use of interference. Some of the new possibilities which are opened up may prove to have drastic consequences for the future: e.g. Shor's algorithm relevance to cryptography. | |||
===Oracles=== | ===Oracles=== | ||
An oracle is a black box which it is impossible to look inside and performs a particular function ''f'' on the input qubits in a time which is independant of the particular input. It is not possible. | |||
They are used to simplify the analysis of algorithms as the specific nature of how a task is performed is irrelevant due to the criterion of hardware-independance. The oracle must of course be reversible as the laws of QM do not make a distinction between forwards and backwards time (i.e. time does not have 'an arrow').<br/> | |||
====Example==== | |||
Let us create an oracle which performs the following function: <math>f: \{-1,1\} \mapsto \{-1,1\}</math> '''!!!!!!DIAGRAM!!!!!!'''<br/> | |||
There are four possiblities for this function:<br/> | |||
# identity: <math>x \mapsto x</math> | |||
# not: <math>x \mapsto -x</math> | |||
# output -1: <math>x \mapsto -1</math> | |||
# output 1: <math>x \mapsto 1</math> | |||
<br/> | |||
===Deutsch algorithm=== | ===Deutsch algorithm=== | ||
Computational task: To determine if <math>f(1)=f(-1)</math>.<br/> | |||
This is equivalant to trying to determine <math>f(1)f(-1)</math> without looking inside the oracle above. | |||
Classically this may be done by consulting the oracle twice. '''[diagram of classical situation]''' However, using quantum computation the oracle need only be consulted twice. | |||
===Grover algorithm=== | ===Grover's algorithm=== | ||
===Shor algorithm=== | ===Shor's algorithm=== | ||
==References== | ==References== |
Revision as of 07:14, 6 June 2007
Throughout this article The Many Worlds Interpretation(MWI) of quantum mechanics is used.
Differences with classical computation
In classical computation there is the concept of a discrete bit, taking only one of two values. However , the world which classical physics describes is that of continua. Thus this is obviously not an ideal way of attempting to describe or simulate the world in which we live. Feynman was the first to consider the idea of a quantum computer being necessary to simulate the quantum mechanical world in which we live.[1]
Quantum computers & information theory
The quantum mechanical analogue of the classical bit is the qubit. A qubit is an actual physical system, all of whose observables are Boolean.
Interference & a simple computation
Quantum Algorithms
An algorithm is a hardware-independant recipe for performing a particular computation. A program is a way of preparing a specific computer to do such a task. Algorithms for quantum computers offer a wider range of computational tasks which may be solved by the use of interference. Some of the new possibilities which are opened up may prove to have drastic consequences for the future: e.g. Shor's algorithm relevance to cryptography.
Oracles
An oracle is a black box which it is impossible to look inside and performs a particular function f on the input qubits in a time which is independant of the particular input. It is not possible.
They are used to simplify the analysis of algorithms as the specific nature of how a task is performed is irrelevant due to the criterion of hardware-independance. The oracle must of course be reversible as the laws of QM do not make a distinction between forwards and backwards time (i.e. time does not have 'an arrow').
Example
Let us create an oracle which performs the following function: !!!!!!DIAGRAM!!!!!!
There are four possiblities for this function:
- identity:
- not:
- output -1:
- output 1:
Deutsch algorithm
Computational task: To determine if .
This is equivalant to trying to determine without looking inside the oracle above.
Classically this may be done by consulting the oracle twice. [diagram of classical situation] However, using quantum computation the oracle need only be consulted twice.
Grover's algorithm
Shor's algorithm
References
Based on a talk given by Charles Blackham to 6P at Winchester College, UK on 7/3/07
- Lectures on Quantum Computation by David Deutsch
- Cambridge Centre for Quantum Computation
- ↑ R.P. Feynman International Journal of Theoretical Physics 21(6/7) 1982