Sådan løser kvantecomputere lineære ligninger

6. marts 2013 kl. 15:101
To kvante-gates løser to ligninger med to ubekendte. Forskerne forventer, at princippet kan udvides til simple løsningsmetoder for meget mere komplicerede ligningssystemer.
Artiklen er ældre end 30 dage

Kvantecomputere vil være almindelige computere langt overlegne til at løse systemer af lineære ligninger, som optræder i alle mulige sammenhænge inden for ingeniørvidenskab og fysik.

Med en algoritme til klassiske computere øges antallet af trin i takt med antallet af ligninger. I en kvantecomputer øges antallet af trin ’kun’ logaritmisk med antallet af trin.

Seth Lloyd fra Massachusetts Institute of Technology i USA beskrev allerede en sådan kvantealgoritme i en artikel i 2009.

Nu har Stefanie Barz fra Universität Wien i Østrig virkeliggjort Seths algoritme på en kvantecomputer til løsning af to ligninger med to ubekendte med hjælp af to fotoner med sammenfiltrede (’entanglede’) kvantetilstande.

Artiklen fortsætter efter annoncen

Ligningssystemet er for simpelt til at have en praktisk relevans, men det er en nyttig eftervisning af, at algoritmen virker i praksis.

Seth Lloyd siger til New Scientist:

»Det er meget flot, at de har været i stand til at implementere det.«

To controlled NOT-gates

Kvantecomputeren er opbygget med to separate controlled NOT-gates (CNOT)

Artiklen fortsætter efter annoncen

En CNOT har to input-kvantebits (qubits) og to output-kvantebits. Den skifter tilstanden af den anden kvantebit, hvis, og kun hvis, den første qubit er 1.

Et lineært ligningssystem svarer til at finde en vektor x, givet et matrix A og en vektor b, således at:
Ax = b

Det er implementeret i det viste diagram, hvor man styrer b med hjælp af input til CNOT1 og matrix A af de indgående elementer mærket LU (local unitary operations). Derudover indeholder opstillingen diverse spejle, beamsplittere samt halvbølge- og kvartbølgeplader til at styre lyset rundt.

Illustration: arkiv.

Med den viste opstilling skal kvantetilstanden af fotonen i output 2 i CNOT2 være '1' (det vil være en bekræftelse på, at algoritmen er korrekt), og kvantetilstanden af fotonen i output 1 vil da være den ønskede løsning x.

De to CNOT-gates er forbundet med fiberoptiske forbindelser.

Stefanie Barz har implementeret algoritmen for tre forskellige værdier af matrix A. For hver af disse for to forskellige værdier af vektoren b og eftervist, at systemet giver det rigtige resultat i alle seks tilfælde.

I konklusionen skriver Stefanie Barz, at fremtidige teknologisk fremskridt vil gøre det muligt at bruge flere end to CNOT-gates, så algoritmen kan udvides til større ligningssystemer. Hun skriver også, at det forhåbentligvis kan bane vejen for implementering af andre vigtige algoritmer, heriblandt nogle til løsning af ikke-lineære differentialligninger.

1 kommentar.  Hop til debatten
Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
1
7. marts 2013 kl. 10:00

"Med en algoritme til klassiske computere øges antallet af trin i takt med antallet af ligninger. I en kvantecomputer øges antallet af trin ’kun’ logaritmisk med antallet af trin."

Det er mig noget uklart hvad der menes. For det første opgiver man normalt kompleksiteten som en funktion af antallet af ubekendte, som kan være forskelligt fra antallet af ligninger.

For det andet er det indlysende at kompleksiteten øges med systemets størrelse, spørgsmålet er hvordan?

I almindelighed er kompleksiteten for at løse N ligninger med N ubekendte O(N^3).

Der er ikke-trivielle specialtilfælde hvor kompleksiteten er O(N^2), eller endda mellem O(N) og O(N^2), hvis man i forvejen har et godt bud på løsningen.

For en (smal) bånd-matrix er kompleksiteten O(N).

Nå, der er i det mindste et link til den oprindelige artikel.

Her ser man at anvendelsen koncentrerer sig om tyndt befolkede ('sparse') systemer, som afhængigt af den specifikke matrix har en klassisk kompleksitet mellem O(N) og O(N^2).

Det bliver så spændende at se hvor store systemer man praktisk kan løse med en kvantecomputer - allerede for 10 år siden løste man systemer med flere milliarder ubekendte, og det er jo for de store systemer at besparelsen virkeligt batter.