Jak uzyskać macierz CNOT dla 3-bitowego systemu, w którym qbity kontrolny i docelowy nie sąsiadują ze sobą?


15

W systemie z trzema qbitami łatwo jest wyprowadzić operatora CNOT, gdy qbity kontrolny i docelowy sąsiadują ze sobą w znaczeniu - po prostu tensorujesz 2-bitowy operator CNOT z macierzą tożsamości w pozycji istotności nietkniętego qbita:

C10|ϕ2ϕ1ϕ0=(ja2)do10)|ϕ2)ϕ1ϕ0

Jednak nie jest oczywiste, jak wyprowadzić operatora CNOT, gdy qbity kontrolny i docelowy nie mają znaczenia:

do20|ϕ2)ϕ1ϕ0

Jak to się robi?


Odpowiedzi:


14

Do prezentacji od pierwszych zasad podoba mi się odpowiedź Ryana O'Donnella . Ale dla nieco wyższego poziomu algebraicznego leczenia, oto jak bym to zrobił.

Główną cechą kontrolowanej operacji , dla dowolnego jednostkowego U , jest to, że (spójnie) wykonuje operację na niektórych kubitach w zależności od wartości niektórych pojedynczych kubitów. Sposób, w jaki możemy to napisać jawnie algebraicznie (z kontrolką na pierwszym kubicie) to: gdzie jest macierzą identyfikacji tego samego wymiaru co . Tutaj i są projektorami do stanów iUU1 U | 0

doU=|00|1+|11|U
1U| 1 |00|| 0 | 1 |11||0|1 kontrolnego kubita - ale nie używamy ich tutaj jako elementów pomiaru, ale do opisania wpływu na inne kubity w zależności od jednej lub drugiej podprzestrzeni przestrzeni stanu pierwszego kubita.

Możemy to wykorzystać do uzyskania macierzy dla bramki która wykonuje operację na kubicie 3, spójnie uwarunkowanym stanem kubit 1, myśląc o tym jako o kontrolowanym operacja na kubitach 2 i 3: X( 1 2doX1,3)XC X 1 , 3(12)X)

doX1,3)=|00|14+|11|(12)X)=[140404(12)X)]=[12)02)02)02)02)12)02)02)02)02)X02)02)02)02)X],
gdzie dwa ostatnie są reprezentacjami macierzy blokowych, aby zaoszczędzić miejsce (i poczytalność).

Jeszcze lepiej: możemy rozpoznać, że - na pewnym poziomie matematycznym, gdzie pozwalamy sobie uświadomić, że kolejność czynników tensorowych nie musi być w pewnym ustalonym porządku - kontrola i cel operacji mogą być na dowolnych dwóch tensorach czynniki i że możemy wypełnić opis operatora na wszystkich innych kubitach za pomocą . Pozwoliłoby nam to przejść od razu do przedstawienia C X 1 , 312)C X 3 , 1

doX1,3)=|00|kontrola12)niezaangażowany12)cel+|11|kontrola12)niezaangażowanyXcel=[12)02)02)02)02)12)02)02)02)02)02)02)02)02)02)02)]+[02)02)02)02)02)02)02)02)02)02)X02)02)02)02)X]
a także pozwala nam natychmiast zobaczyć, co zrobić, jeśli role kontroli i celu zostaną odwrócone:
doX3),1=12)cel12)niezaangażowany|00|kontrola+Xcel12)niezaangażowany|11|kontrola=[|00||00||00||00|]+[|11||11||11||11|]=[1000000000100000000001000000000100000100000000011000000000100000].
Ale co najważniejsze: jeśli możesz zapisać te operatory algebraicznie, możesz zrobić pierwsze kroki w kierunku całkowitego rezygnacji z gigantycznych macierzy, zamiast rozważać algebraicznie te operatory, używając wyrażeń takich jak i C X 3 , 1 = 1 2doX1,3)=|00|12)12)+|11|12)XdoX3),1=12)12)|00|+X12)|11|. Oczywiście będzie granica tego, co możesz z nimi zrobić - prosta zmiana reprezentacji raczej nie sprawi, że trudny algorytm kwantowy zostanie skutecznie rozwiązany, a tym bardziej możliwy do ręcznego obliczenia - ale o wiele łatwiej można argumentować o prostych obwodach używając tych wyrażeń niż z gigantycznymi matrycami zajmującymi przestrzeń.

O tak, przypominam sobie projektory od początku w książce Mermin. Dodawanie projektorów i matryc to sposób na kodowanie logiki warunkowej w matrycach!
ahelwer

„prosta zmiana reprezentacji raczej nie sprawi, że trudny algorytm kwantowy zostanie skutecznie rozwiązany” - a co z rotacją knota?
meowzz

1
@meowzz: Od czasu do czasu taka zmiana notacji pozwala na postęp konceptualny i pomaga w łatwiejszym rozwiązywaniu problemów. Ale nie często i prawdopodobnie nie w przypadku tej konkretnej zmiany notacji, która jest dość dobrze znana. Jeśli chodzi o konkretny przypadek rotacji Knota, pytanie, które zadałbym, brzmiałoby: jaki konkretny postęp umożliwił rozwiązanie problemów i dla jakich problemów był pomocny.
Niel de Beaudrap,

8

To dobre pytanie; podręczniki wydają się przekraść. Dokładnie to pytanie dotarłem kilka dni temu, przygotowując wykład z zakresu informatyki kwantowej.

O ile mi wiadomo, nie ma sposobu na uzyskanie pożądanego macierz 8x8 korzystając produkt Kronecker notacji dla macierzy. Wszystko, co naprawdę możesz powiedzieć, to: Twoja operacja zastosowania CNOT do trzech kubitów, przy czym kontrola jest pierwsza, a cel trzeci, ma następujące skutki:

|000|000

|001|001

|010|010

|011|011

|100|101

|101|100

|110|111

|111|110

i dlatego podaje ją następująca macierz:

U=[1000000001000000001000000001000000000100000010000000000100000010]

Ta macierz faktycznie nie jest ani ani . Nie ma dla niego zwięzłej notacji opartej na produkcie Kronecker; tak po prostu jest.Uja2)doN.OT.doN.OT.ja2)


1

Zasadniczo CNOT zmienia cel na podstawie kontroli. Wybieram odwrócenie celu, jeśli kontrola to , możesz też wybrać . Przyjmijmy więc ogólny stan wielocząstkowy . Teraz wybierasz kontrolę i cel, powiedzmy, że jest kontrolą, a jest celem. Zastosowanie CNOT na będzie po prostu (=[1 0]T.)(=[0 1]T.)|ϕ=|12)3)....n-1njathkth|ϕ

CNOT|ϕ=CNOT|12...i...k...n1n=|12...i...k...n1n

Aby skonstruować macierz takiej bramki CNOT, stosujemy ( macierz Pauli), jeśli i- stan jest w górę, i ( Tożsamość), jeśli i- stan jest w dół. Stosujemy te matryce na pozycji, która jest naszym celem. Matematycznie, σxxithI2×2ithkth

CNOT=[|1...i...k11...i...k1|σx|k+1...nk+1...n|+all permutations of states other then ith]+[|1...i...k11...i...k1|I|k+1...nk+1...n|+all permutations of states other then ith]

Uwaga stan (cel) są wyłączone podczas tworzenia macierzy permutacji i co położeniu operator lub opisana.kthkthσxja

Weźmy przykład pięciu kubitów, w których qubit jest celem, a kontroluje. Zbudujmy macierz permutacji . Rozumiem, jeśli kontrola jest w odwróć cel. Możesz też wziąć odwrotnie.2)nre4thdoN.OT.

doN.OT.=|11|σx|3)453)45|+|11|σx|3)453)45|+|11|σx|3)453)45|+|11|σx|3)453)45|+|11|σx|3)453)45|+|11|σx|3)453)45|+|11|σx|3)453)45|+|11|σx|3)453)45|+|11|ja|3)453)45|+|11|ja|3)453)45|+|11|ja|3)453)45|+|11|ja|3)453)45|+|11|ja|3)453)45|+|11|ja|3)453)45|+|11|ja|3)453)45|+|11|ja|3)453)45|

-2

najpierw napisz macierz CNOT⊗𝐼2, a następnie zmień kolejność index2 i index3 za pomocą matlaba. w ten sposób możesz wykonać dowolną liczbę kubitów.


Cześć! Czy możesz rozwinąć swoją odpowiedź, aby była jaśniejsza? Być może pomoże
jakiś
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.