Como derivar a matriz CNOT para um sistema de 3 qbit onde os qbits de controle e alvo não são adjacentes?


13

Em um sistema de três qbit, é fácil derivar o operador CNOT quando os qbits de controle e alvo são adjacentes em importância - você apenas tensiona o operador CNOT de 2 bits com a matriz de identidade na posição de significância do qbit intocado:

C10|ϕ2ϕ1ϕ0=(I2C10)|ϕ2ϕ1ϕ0

No entanto, não é óbvio como derivar o operador CNOT quando os qbits de controle e destino não têm significado adjacente:

C20|ϕ2ϕ1ϕ0

Como isso é feito?

Respostas:


11

Para uma apresentação dos primeiros princípios, gosto da resposta de Ryan O'Donnell . Mas para um tratamento algébrico de nível um pouco mais alto, eis como eu faria isso.

A principal característica de uma operação controlada , para qualquer U unitário , é que (coerentemente) realiza uma operação em alguns qubits, dependendo do valor de um único qubit. A maneira como podemos escrever isso explicitamente algebricamente (com o controle no primeiro qubit) é: onde é uma matriz de identidade da mesma dimensão como . Aqui, e são projetores nos estados eUU1 U | 0

CU=|00|1+|11|U
1U| 1 |00|| 0 | 1 |11||0|1 do qubit de controle - mas não os estamos usando aqui como elementos de uma medição, mas para descrever o efeito nos outros qubits, dependendo de um ou outro subespaço do espaço de estados do primeiro qubit.

Podemos usar isso para derivar a matriz para o gate que executa uma operação no qubit 3, condicionado coerentemente ao estado do qubit 1, pensando nisso como um controle- nos qubits 2 e 3: X( 1 2CX1,3XC X 1 , 3(12X)

CX1,3=|00|14+|11|(12X)=[140404(12X)]=[12020202021202020202X02020202X],
onde os dois últimos são representações da matriz de blocos para economizar espaço (e sanidade).

Melhor ainda: podemos reconhecer que - em algum nível matemático, nos permitimos perceber que a ordem dos fatores tensores não precisa estar em uma ordem fixa - o controle e o objetivo da operação podem estar em qualquer um dos dois tensores. fatores, e que podemos preencher a descrição do operador em todos os outros qubits com . Isso nos permitiria ir direto para a representação C X 1 , 312

CX1,3=|00|control12uninvolved12target+|11|control12uninvolvedXtarget=[12020202021202020202020202020202]+[02020202020202020202X02020202X]
e também nos permite ver imediatamente o que fazer se os papéis de controle e destino forem revertidos: CX1,3=| 0
CX3,1=12target12uninvolved|00|control+Xtarget12uninvolved|11|control=[|00||00||00||00|]+[|11||11||11||11|]=[1000000000100000000001000000000100000100000000011000000000100000].
Mas o melhor de tudo: se você pode escrever esses operadores algebricamente, pode dar os primeiros passos para dispensar totalmente as matrizes gigantes, em vez de raciocinar sobre esses operadores algebricamente usando expressões como e CX1,3=|00|1212+|11|12XCX3,1=1212|00|+X12|11|. Haverá um limite para o quanto você pode fazer com isso, é claro - é improvável que uma simples mudança na representação torne um algoritmo quântico difícil solucionável com eficiência, muito menos tratável por cálculo manual - mas você pode raciocinar sobre circuitos simples com muito mais eficiência usando essas expressões do que com matrizes gigantes de comer espaço.

Ah, sim, eu me lembro de projetores desde o início no livro da Mermin. Projetores e adição de matriz são uma maneira de codificar lógica condicional em matrizes!
ahelwer 19/09/19

"é improvável que uma simples mudança na representação torne um algoritmo quântico difícil solucionável com eficiência" - e no caso da rotação do pavio?
meowzz

1
@ meowzz: De vez em quando, essa mudança de notação permite que você faça um avanço conceitual e ajuda a resolver problemas mais facilmente. Mas não com freqüência, e provavelmente não no caso dessa mudança específica de notação, que é razoavelmente bem conhecida. Quanto ao caso específico da rotação de Wick, no entanto, a pergunta que eu faria é que avanço específico tornou possível resolver problemas e para quais problemas foi útil.
Niel de Beaudrap 4/10

7

Essa é uma boa pergunta; é um livro que os livros parecem esgueirar-se. Cheguei a essa pergunta exata ao preparar uma palestra sobre computação quântica alguns dias atrás.

Até onde eu sei, não há como obter a matriz 8x8 desejada usando a notação do produto Kronecker para matrizes. Tudo o que você pode realmente dizer é: Sua operação de aplicação do CNOT a três qubits, com o controle sendo o primeiro e o destino como o terceiro, tem os seguintes efeitos:

|000|000

|001|001

|010|010

|011|011

|100|101

|101|100

|110|111

|111|110

e, portanto, é dada pela seguinte matriz:

U=[1000000001000000001000000001000000000100000010000000000100000010]

Essa matriz é de fato nem nem . Não existe uma notação sucinta baseada no produto Kronecker; é apenas o que é.I 2C N O T C N O TI 2UI2CNOTCNOTI2


1

Como uma idéia geral, o CNOT vira o alvo com base no controle. Eu escolho virar o alvo se o controle for , você pode escolher também. Portanto, assuma qualquer estado geral de multipartículas . Agora você escolher o seu controle e alvo, digamos é o controle e é alvo. A aplicação do CNOT em será apenas ( = [ 0(=[1 0]T)(=[0 1]T)|ϕ=|123....n1nithkth|ϕ

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

Para a construção da matriz de tal portão CNOT aplicamos ( -Pauli matriz) se estado é para cima e que se aplicam ( de identidade), se estado é baixo. Aplicamos essas matrizes na posição , que é o nosso objetivo. Matematicamente, x i ' t h I 2 × 2 1 . . . . σ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]

Nota estado (destino) é excluído durante a criação da matriz de permutação e na posição o operador ou é gravado.kthkthσxI

Tomemos um exemplo de cinco qubits nos quais qubit são alvo e são controle. Vamos construir a matriz de permutação do . Eu assumo, se o controle for virar o alvo. Você pode tomar vice-versa também.2nd4thCNOT

CNOT=|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|σx|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|+|11|I|345345|
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.