제어 및 대상 qbit가 인접하지 않은 3-qbit 시스템에서 CNOT 매트릭스를 도출하는 방법은 무엇입니까?


15

3-qbit 시스템에서 제어 및 대상 qbit가 유의 한 인접성에있을 때 CNOT 연산자를 쉽게 도출 할 수 있습니다. 수정되지 않은 qbit의 중요 위치에있는 ID 매트릭스로 2 비트 CNOT 연산자를 텐서 링하면됩니다.

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

그러나 제어 및 대상 qbit가 중요 하지 않은 경우 CNOT 연산자를 파생시키는 방법은 분명 하지 않습니다 .

C20|ϕ2ϕ1ϕ0

이것은 어떻게 이루어 집니까?


이 질문과 답변을 참조하십시오 : quantumcomputing.stackexchange.com/questions/9614/…
Martin Vesely

답변:


14

첫 번째 원칙의 발표를 위해 Ryan O'Donnell의 답변이 마음에 듭니다 . 그러나 약간 높은 수준의 대수 치료를 위해 여기에 내가 어떻게 할 것입니다.

모든 단일 대해 제어 연산 의 주요 특징은 단일 큐 비트의 값에 따라 일부 큐 비트에서 (일관되게) 연산을 수행한다는 것입니다. 우리가 이것을 명시 적으로 대수적으로 쓸 수있는 방법은 (첫 번째 큐빗의 제어와 함께) 다음과 같습니다 : 여기서 은 와 차원이 같은 항등 행렬입니다 . 여기서 및 은 및 상태의 프로젝터입니다.UU

CU=|00|1+|11|U
1U|00||11||0|1 우리는 여기에서 그것들을 측정의 요소로 사용하지 않고, 첫번째 큐 비트의 상태 공간의 하나 또는 다른 서브 공간에 따라 다른 큐 비트에 대한 영향을 설명하기 위해 사용합니다.

우리는 게이트가 매트릭스 도출하도록 이것을 사용할 수 행하는 큐 비트 (3)의 동작을, 코 히어 런트 제어 방출 등이 생각하여, 큐 비트 (1)의 상태를 조절 qubits 2와 3에서의 작동 CX1,3X(12X)

CX1,3=|00|14+|11|(12X)=[140404(12X)]=[12020202021202020202X02020202X],
여기서 후자는 공간 (및 온전함)을 절약하기위한 블록 행렬 표현입니다.

더 나은 방법 : 텐서 팩터의 순서가 정해진 순서에 있지 않아도된다는 사실을 수학적 수준에서 인식 할 수 있다는 점을 인식 할 수 있습니다. 작업의 제어 및 목표는 두 개의 텐서에있을 수 있습니다. 그리고 다른 모든 큐 비트에 대한 연산자 설명을 채울 수 있습니다 . 이를 통해 표현으로 바로 이동할 수 있습니다. 12

CX1,3=|00|control12uninvolved12target+|11|control12uninvolvedXtarget=[12020202021202020202020202020202]+[02020202020202020202X02020202X]
또한 제어와 목표의 역할이 바뀌면 어떻게해야하는지 즉시 확인할 수 있습니다.
CX3,1=12target12uninvolved|00|control+Xtarget12uninvolved|11|control=[|00||00||00||00|]+[|11||11||11||11|]=[1000000000100000000001000000000100000100000000011000000000100000].
그러나 무엇보다도 :이 연산자를 대수적으로 적을 수 있다면 와 같은 표현식을 사용하여 대수적으로 이러한 연산자에 대해 추론하는 대신 거대 행렬을 완전히 분배하는 첫 단계를 취할 수 있습니다 와 CX1,3=|00|1212+|11|12XCX3,1=1212|00|+X12|11|. 물론 이것으로 얼마나 많은 일을 할 수 있는지에 대한 한계가있을 것입니다. 단순한 표현의 변경은 어려운 양자 알고리즘을 수동 계산으로 다루기 쉬울뿐만 아니라 효율적으로 해결할 수 없을 것입니다. 그러나 간단한 회로에 대해 훨씬 더 효과적으로 추론 할 수 있습니다 거대한 공간을 차지하는 행렬보다 이러한 표현을 사용합니다.

그래, 나는 Mermin 책에서 일찍부터 프로젝터를 회상한다. 프로젝터와 행렬 추가는 행렬에서 조건부 논리를 인코딩하는 방법입니다!
ahelwer

"간단한 표현 변경은 어려운 양자 알고리즘을 효율적으로 해결할 수 없을 것"-심지 회전의 경우는 어떻습니까?
meowzz

1
@meowzz : 가끔씩 이런 표기법의 변화는 개념적인 발전을 가능하게하고 문제를보다 쉽게 ​​해결하도록 도와줍니다. 그러나 이러한 표기법의 변화가 자주 발생하는 경우는 많지 않으며 아마도 잘 알려져 있지 않습니다. 그러나 Wick 로테이션의 특정 사례와 관련하여 내가 묻는 질문은 문제를 해결할 수있는 구체적인 진보와 도움이되는 문제입니다.
Niel de Beaudrap

8

이것은 좋은 질문입니다. 그것은 교과서가 몰래 보이는 것입니다. 며칠 전에 양자 컴퓨팅 강의를 준비 할 때이 정확한 질문에 도달했습니다.

내가 알 수있는 한, 행렬에 대한 Kronecker product 표기법을 사용하여 원하는 8x8 행렬을 얻는 방법은 없습니다 . 실제로 말할 수있는 것은 다음과 같습니다. CNOT를 세 큐빗에 적용하는 작업은 컨트롤이 첫 번째이고 대상이 세 번째 인 경우 다음과 같은 영향을 미칩니다.

|000|000

|001|001

|010|010

|011|011

|100|101

|101|100

|110|111

|111|110

따라서 다음 매트릭스로 제공됩니다.

U=[1000000001000000001000000001000000000100000010000000000100000010]

이 행렬 는 실제로 또는 . 간결한 Kronecker 제품 기반 표기법은 없습니다. 그것은 단지 그것이 무엇인지입니다.UI2CNOTCNOTI2


1

일반적으로 CNOT는 제어에 따라 대상을 뒤집습니다. 컨트롤이 인 경우 대상을 뒤집기로 선택하면 도 선택할 수 있습니다 . 따라서 일반적인 멀티 입자 상태 . 지금 당신은 당신의 통제 및 대상을 선택, 말의 수 제어이며 대상입니다. 에 CNOT 적용 다만됩니다 (=[1 0]T)(=[0 1]T)|ϕ=|123....n1nithkth|ϕ

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

이러한 CNOT 게이트의 행렬을 구성하기 위해 상태가 작동 하면 ( -Pauli matrix) 를 적용하고 상태가 작동 하지 않으면 ( Identity)를 적용 합니다. 이 행렬을 목표 인 위치에 적용합니다 . 수학적으로 σ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]

참고 순열 행렬을 만드는 동안 상태 (대상)가 제외되고 위치에 연산자 또는 가 기록됩니다.kthkthσxI

qubit가 대상이고 가 제어 되는 5 개의 qubit를 예로 들어 보겠습니다 . 의 순열 행렬을 만들 수 있습니다. 제어가 이면 대상을 뒤집습니다. 그 반대도 마찬가지입니다.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|

-2

먼저 CNOT⊗𝐼2 행렬을 작성한 다음 matlab을 사용하여 index2 및 index3의 순서를 변경하십시오. 이런 식으로, 당신은 많은 qubits를 할 수 있습니다.


안녕하세요! 더 명확하게 답변을 확장 할 수 있습니까? 아마도 예제가 도움이 될 것입니다 :)
met927
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.