thumb|En wafer med Intels kvantecomputerchips

Kvantedatabehandling er enhver mål-orienteret aktivitet som forudsætter, drager fordel af, eller skaber en matematisk sekvens af trin kendt som en algoritme — der kan udføres på en kvantecomputer. Kvantedatabehandling omfatter design, udvikling og bygning af hardware og software til disse systemer.

En kvantecomputer er et apparat, der kan beregne ved hjælp af operationer (herunder kvantefysisk sammenfiltringer) på kvantetilstande. For nylig (før dec. 2008) er små kvantecomputere blevet bygget. Mange myndigheder og militære organer som f.eks. NATO støtter universiteter og kvanteberegningsforskningscentre til at udvikle en computer til f.eks. kryptering.

Det formodes at hvis stor-skala kvantecomputere kan bygges, vil de være i stand til at løse visse datalogiske problemer hurtigere end enhver klassisk computer. Kvantecomputere er forskellige fra klassiske computere som f.eks. DNA-computere og computere baseret på transistorer og evt. transistorer baseret på kvantemekaniske effekter uden kvantefysisk superposition.

Historie Det var fysikeren Richard Feynman, som i 1982 foreslog at man skulle forsøge at simulere kvantemekaniske objekter i kvantemekanikken selv i form af en kvantecomputer. I 1985 offentliggjorde David Deutsch en banebrydende artikel med en beskrivelse af den universelle kvantecomputer. I 1994 beviste Peter Shor at man med en kvantecomputer kunne faktorisere tal eksponentielt hurtigere end på en klassisk computer.

Dette betød et væld af forskningsmidler til forskning i kvantecomputere og deres algoritmer, da langt størstedelen af alle public key krypteringssystemer baserer deres "ubrydelighed" på, at det er vanskeligt at faktorisere heltal eller at det er vanskeligt at løse den diskrete logaritme.

Opbygning Klassisk bit kontra kvantebit thumb|En kvantebits kvantetilstand modelleres typisk med en Bloch sfære. En kvantebits tilstand har altid længde "1". To navngivne kvantetilstande er (blå) og (rød). Den viste kvantebits kvantetilstand er (grøn). En vigtig erkendelse er at er en vektor med længde én. Navnet på den vektor er 0 (nul). En klassisk computers hukommelse er lavet af bits. Hver af bittene kan lagre en af to mulige tilstande, disse kan f.eks. fortolkes som de klassiske bitværdier "0" og "1", som de to tilstande af bekvemmelighedsårsager kaldes, i næsten al faglitteratur. Bits kan ikke lave beregninger selv. Beregninger i en klassisk computer laves i en aritmetisk logisk enhed (ALU) - typisk på flere bits ad gangen.

En kvantecomputer, derimod, har en mængde af kvantebits. En kvantebit kan lagre de "klassiske" to tilstande "0", "1" som henholdsvis kvantetilstanderne, opgivet som ket-vektorer (=søljevektorer), og - eller en superposition af de to tilstande. Det er forkert at sige, at en kvantebit kan lagre to egentlige tilstande på samme tid – det den derimod kan, er at lagre en superposition af to vægtede kvantetilstande. Kvantecomputeren beregner ved at lave kvanteoperationer på disse kvantebits.

I faglitteratur, kvantecomputersimulatorer og kvantecomputere har kvantebittenes en ønsket startværdi, der er kendt og den er typisk . Kvantecomputeren kan beregne ved: at "nulstille" kvantebittene til fx . lave kvanteoperationer på kvantebittene - herunder input. måle kvantebittene og som output fås klassiske bits. Typisk køres kvanteprogrammet hundreder eller tusinder af gange, så output fås som sandsynligheder for hver målt kvantebit tilstandskombination. Fx vil to kvantebits give anledning for fire sandsynligheder; nemlig for tilstandskombinationerne "00", "01", "10" og "11". Fx vil fire kvantebits give anledning for 16 sandsynligheder; nemlig for tilstandskombinationerne "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110" og "1111".

Kvantebit superposition

Partikler i kvantemekanik er i stand til at være to kvantesteder på samme tid eller være i to kvantemekaniske tilstande på samme tid. Denne effekt er ofte beskrevet ved at anvende tankeeksperimentet Schrödingers kat, hvor en kat både kan være i live og død på samme tid. Denne mulighed til at være i flere kvantemekaniske tilstande samtidigt kaldes kvantemekanisk superposition.QUANTUMLAB - Kvantetilstande Citat: "...Tilstandsvektoren for et system skal altid være normaliseret, dvs. have længden 1...Tilsvarende er en qubit et kvante-system med et tilstandsrum udspændt af to basisvektorer, som ofte betegnes og ...Qubit tilstande kan illustreres på en 3D-sfære kaldet Bloch sfæren. Tilstandene og ligger på sfærens poler og langs ækvator ligger de symmetriske superpositionstilstande. Ethvert punkts på sfæren svarer til en mulig qubit tilstand...En helt afgørende forskel mellem klassiske binære bits og qubits er, at qubits ikke kun kan være i tilstandene og men også i en hvilken som helst superpositionstilstand , hvor koefficienterne blot skal opfylde, at |a|^2 + |b|^2 =1. Hvis du sidder og tænker, at det ligner ligningen for en cirkel med radius 1 [(x-x_0)^2 + (y-y_0)^2 = r^2, hvor er cirklens centrum og dens radius], så er det godt set. Men fordi og er komplekse tal, så bliver det i stedet til en tre-dimensionel sfære med radius 1. Alle de mulige kvantetilstande for qubiten ligger på overfladen af sfæren - I bunden af sfæren ligger svarende til og , og på toppen har vi svarende til og ...", backup

Man kan vælge at benytte superpositionen i kvanteberegningerne - eller lade være.

Hvis man vælger at benytte superpositionen i kvanteberegningerne, kan en eksponentiel algoritme hastighedsforøgelse fås, hvis man kan finde ud af at lave en sådan algoritme. Det bemærkelsesværdige er, at denne hastighedsforøgelse fås med eksponentiel mindre brugt energi, i forhold til en klassisk algoritme på en traditionel supercomputer!25 June 2003, arxiv.org, Eli Biham, Gilles Brassard, Dan Kenigsberg and Tal Mor: Quantum Computing Without Entanglement Citat: "...It is generally believed that entanglement is essential for quantum computing. We present here a few simple examples in which quantum computing without entanglement is better than anything classically achievable, in terms of the reliability of the outcome after a fixed number of oracle calls...When information is lacking about the state of a qubit, we say that this qubit is in a mixed state...A quantum mixed state ρ of several qubits is called a product state if it can be written as a tensor product of the states of the individual qubits...Quantum computers can manipulate quantum information by means of unitary transformations [11, 14, 7]. In particular, they can work with superpositions...The linearity of quantum mechanics gives rise to two important phenomena. (1) Quantum parallelism: we can compute f on arbitrarily many classical inputs by a single application of Uf to a suitable superposition...On the other hand, it has been demonstrated that quantum computers can solve some problems exponentially faster than any classical computer provided the input is given as an oracle[8, 2], and even if we allow bounded errors ...A fundamental question is: Where does the surprising computational advantage provided by quantum mechanics come from? What is the nonclassical property of quantum mechanics that leads to such an advantage? Do superposition and interference provide the quantum advantage? Probably the most often heard answer is that the power of quantum computing comes from the use of entanglement, and indeed there are very strong arguments in favour of this belief. (See [12, 4, 13, 10, 15] for a discussion.) We show in this paper that this common belief is wrong..."

Energiforbruget i en kvantecomputer stiger cirka lineart med antallet af kvantebits og kvanteoperationer på kvantebittene, men beregningshastigheden stiger potentielt eksponentielt med antallet af kvantebits, når superposition anvendes aktivt.

Kvantebit operationer og kvantekredsløb Kvantecomputeren beregner ved at udføre disse valgte kvanteoperationer på kvantebits. En del af operationsnavnene er også anvendt i kvanteprogrammeringssproget OpenQASM:16 Jun 2018, codeproject.com: Quantum Computing for Everyone - Part II: Quantum Gates, backup16 Jun 2018, codeproject.com: Quantum Computing for Everyone - Part III: Quantum Circuits and OpenQASM, backupOpen Quantum Assembly Language. Andrew W. Cross, Lev S. Bishop, John A. Smolin, Jay M. Gambetta January 10th, 2017 Citat: "...Our goal in this document is to describe an interface language for the Quantum Experience that enables experiments with small depth quantum circuits...Compilation. This phase takes place on a classical computer in a setting where specific problem parameters are not yet known and no interaction with the quantum computer is required, i.e. it is offline...Circuit generation. This takes place on a classical computer in an environment where specific problem parameters are now known, and some interaction with the quantum computer may occur, i.e. this is an online phase...Execution. This takes place on physical quantum computer controllers in a real-time environment, i.e. the quantum computer is active...Post-processing. This takes place on a classical computer after all real-time processing is complete...The human-readable form of our quantum circuit IR is based on “quantum assembly language” [3, 23–26] or QASM (pronounced kazm). QASM is a simple text language that describes generic quantum circuits...We choose a simple language without higher level programming primitives. We define different gate sets using a subroutine-like mechanism that hierarchically specifies new unitary gates in terms of built-in gates and previously defined gate subroutines. In this way, the built-in basis is used to define hardware-supported operations via standard header files. The subroutine mechanism allows limited code reuse by hierarchically defining more complex operations [7, 26]. We also add instructions that model a quantum-classical interface, specifically measurement, state reset, and the most elemental classical feedback. The remaining sections of this document specify Open QASM and provide examples....", backup Enkelt kvantebit operationer: reset (sæt kvantebit til ) U(theta,phi,lambda) = u3(theta,phi,lambda) universal rotations-gate. Kan rotere en kvantetilstand til en vilkårlig anden kvantetilstand på Bloch sfæren. Specialtilfælde rotations-gates: Identity, id = u3(0,0,0) u1(lambda) = u3(0,0,lambda) Clifford gate: Hadamard, H = u3(pi/2,0,pi). Clifford gate: sqrt(Z) phase gate S = u1(pi/2) Clifford gate: konjugeret sqrt(Z) phase gate Sdg = u1(-pi/2) C3 gate: sqrt(S) phase gate T = u1(pi/4) C3 gate: konjugeret sqrt(S) phase gate Tdg = u1(-pi/4) Pauli-X gate, X gate (NOT gate) = u3(pi,0,pi) Pauli-Y gate, Y gate = u3(pi,pi/2,pi/2) Pauli-Z gate, Z gate (phase flip gate) = u1(pi) = u3(0,0,pi) rx(theta) = u3(theta,-pi/2,pi/2). ry(theta) = u3(theta,0,0). rz(phi) = u1(phi). measure (dansk måling) - måler kvantetilstanden på en eller flere kvantebits og output er de klassiske bitværdier "0" og "1". To kvantebit gates: Controlled NOT gate, Toffoli gate, CNOT eller endnu kortere CX.

Gates der kan opbygges af ovenstående: To kvantebit gates: Fredkin Gate, CSWAP sqrt(NOT) gate Tre kvantebit gates: Controlled Controlled NOT gate, CCNOT eller endnu kortere CCX. sqrt(SWAP) gate

Herudover haves en barrier (dansk "barriere") som er et compiler-direktiv, som signalerer at compileren ikke må simplificere kvanteoperationerne på tværs af barrieren for de valgte kvantebits.

Kvantebit realiseringer En kvantecomputer kan realiseres ved at anvende en lille mængde partikler, som hver kan have en separat skriv/læsbar kvantetilstand. Partiklerne, med de tilgængelige kvantetilstande, kan være fx fotoner, atomkerner, molekyler - eller cooper-par (Transmon).