QC - Kvantno programiranje: problemi s implementacijom

Fotografirao NeONBRAND

Još smo u ranoj fazi kvantnog računanja. Očekujte iznenađenja! Kvantni algoritam ovisi o dostupnim kubitima i o načinu na koji su ti kubiti povezani. Različiti modeli kvantnih računala mogu to učiniti drugačije. To je kao da se program pokreće na Intel i7 procesoru i ne uspijeva za procesore sljedeće generacije. Dekoherenca je još jedno veliko pitanje u kvantnom računanju. Nemojte očekivati ​​da ćete pauzirati program i pokrenuti kavu. Jednom kada pritisnete gumb za pokretanje, nalazite se ispod sata. Program mora brzo završiti prije kvarenja kvantnih informacija. U ovom ćemo članku pokriti neke aspekte provedbe kao i problem neprilagođenosti.

Zamijenite vrata

Fizička primjena kbita možda nije simetrična. Vrata koja se kontroliraju a ne mogu uzimati qubit-0 kao kontrolu, a qubit-1 kao cilj, ali ne i suprotno.

Snažno ovise o implementacijama

Ovdje pokazuje kako se 2-qubit može povezati u CNOT-gate na IBM Q5.

Kao što je prikazano u nastavku, ako povežemo q1 i q2 s vratima s kontroliranim i ne, dobit ćemo pogrešku.

Izvor

Na ovom stroju nije dopušteno imati q1 kao kontrolni qubit s q2 kao meta.

Preusmjeravanjem vrata, greška više nema.

Evo još jednog primjera za IBM Q20.

IBM Q 20 Tokyo (20-qubits) - Izmijenjeno iz izvora

Da bismo prevladali ograničenje, možemo koristiti swap za zamjenu dva qubita.

Evo i drugih mogućnosti za prevazilaženje problema:

Izvor

Univerzalna vrata

U klasičnom računanju, NAND kapija je univerzalno vrata koja mogu sastaviti preostale operacije. Iz razloga izvedbe možemo implementirati još nekoliko univerzalnih vrata. Na tim fizičkim vratima ugrađuju se složene kapije. U kvantnim vratima je univerzalni skup

To može dodatno smanjiti i aproksimirati s bilo kojom preciznošću na vratima CNOT, H, S i T, s ponekim nad glavom. U praksi, IBM Q (ibmqx4) provodi sljedeća fizička vrata:

gdje

Za programsko sučelje sve sljedeće operacije su date u IBM Q-u i grade se na vrhu gornjih vrata.

To nas zapravo vodi do jedne važne teme.

Nisu svi kubiti jednaki

Preciznost i pogreške ostaju problem kvantnog računanja. Kao što je gore naznačeno, različiti kubiti imaju različitu grešku ulaznih vrata i pogreške u očitavanju. Pogreška vrata je oko preciznosti u primjeni kvantnih vrata. tj. koliko točno možemo kontrolirati superpoziciju? Pogreška očitanja je pogreška u mjerenju kita. Pogreška MultiQubit vrata je pogreška pri upravljanju 2-kbitnim vratima. Ti se podaci mogu uzeti u obzir pri implementaciji algoritma. Ili bi to barem trebalo dokumentirati s pokretanjem izvršenja radi buduće usporedbe ili referenciranja.

Dekoherenca i pogreške

Kao što je već spomenuto, svaki se kvantni program izvodi pod taktom. Jednom kada počnete pritisnuti gumb za pokretanje, kvantne informacije počinju propadati zbog interakcije s okolinom (bilo koja električna i magnetska polja u blizini). Vaš program mora biti dovršen prije nego što kvantno stanje postane smeće. Dakle, trebali biste biti svjesni duljine fizičkih kvantnih vrata korištenih u vašem programu. Budući da je program napisan logičkim kvantnim vratima, korisno je znanje o tome kako se fizička vrata pretvaraju u fizička vrata.

Kvaliteta kvantnih računala može se mjeriti vremenom opuštanja (T1), koherencijskim vremenom (T2), pogreškama u očitavanju i pogreškama na kapiji.

Izvor IBM

Postupak dekoherencije mjeri se T1 i T2 gore.

T1 - Opuštanje energije: vrijeme potrebno za pobuđeno | 1⟩ stanje propada prema osnovnom stanju | 0⟩.

T2 - Defaziranje koje utječe na fazu superpozicije. T2 uključuje učinak odmašćivanja kao i energetsko opuštanje.

Zbog toga se te informacije uvijek objavljuju u vaše svrhe.

Tolerancija kvarova

Računanje tolerancije grešaka se već dugo vremena ne uči u inženjerstvu. Kvantno računanje vraća predmet. Kvantni proračun ranjiv je na pogreške. Da bismo umanjili problem, možemo dodati dodatna kvantna vrata za otkrivanje ili ispravljanje pogrešaka. To je jedan od glavnih razloga što nam je uvijek potrebno puno više qubita nego što mislimo. Sljedeći uzorak je enkoder i dekoder koji dopušta jednu kubitnu pogrešku.

Izvor: IBM

Sljedeći

Sada dovršavamo kvantna vrata. Zatim ćemo početi učiti programirati kvantni algoritam.

Evo poveznice za cijeli niz: