1 |
1
양자 컴퓨팅 장치에 의해 수행되는 양자 논리적 큐비트의 논리적 CNOT 연산 방법으로서,복수의 논리적 데이터 큐비트들(logical data qubits)을 가로열인 제 1 열로 배치하는 단계;상기 복수의 논리적 데이터 큐비트들에 각각 대응되는 복수의 논리적 엔실라 큐비트들(logical ancilla qubits)을 상기 복수의 논리적 데이터 큐비트들의 각각에 대응되도록 상기 제 1 열과 상이한 가로열인 제 2 열로 배치하는 단계; 및상기 복수의 논리적 데이터 큐비트들 중 제 1 논리적 데이터 큐비트 및 제 2 논리적 데이터 큐비트에 대한 논리적 CNOT(controlled NOT)를 수행하는 단계;를 포함하는,방법
|
2 |
2
제 1 항에 있어서,상기 제 1 논리적 데이터 큐비트는 제어 큐비트(control qubit)이고, 그리고상기 제 2 논리적 데이터 큐비트는 타겟 큐비트(target qubit)인,방법
|
3 |
3
제 1 항에 있어서,상기 복수의 논리적 엔실라 큐비트들은 각각 중간의 논리적 큐비트(intermediate logical qubit)를 포함하는,방법
|
4 |
4
제 2 항에 있어서,상기 복수의 논리적 데이터 큐비트들 중 상기 제 1 논리적 데이터 큐비트 및 상기 제 2 논리적 데이터 큐비트에 대한 논리적 CNOT를 수행하는 단계는,상기 제 1 논리적 데이터 큐비트와 상기 제 2 논리적 데이터 큐비트 사이에 다른 논리적 데이터 큐비트가 존재하지 않는 경우, 상기 제 1 논리적 데이터 큐비트와 상기 제 1 논리적 데이터 큐비트에 대응되는 제 1 논리적 엔실라 큐비트를 병합(merging)하여 제 1 병합 큐비트를 생성하는 단계;상기 제 2 논리적 데이터 큐비트 및 상기 제 2 논리적 데이터 큐비트에 대응되는 제 2 논리적 엔실라 큐비트를 병합하여 제 2 병합 큐비트를 생성하는 단계;상기 제 1 병합 큐비트를 상기 제 1 논리적 데이터 큐비트와 상기 제 1 논리적 엔실라 큐비트로 분할(splitting)하는 단계; 분할된 상기 제 1 논리적 엔실라 큐비트와 상기 제 2 병합 큐비트를 병합하여 제 3 병합 큐비트를 생성하는 단계; 및상기 제 3 병합 큐비트를 상기 제 2 논리적 데이터 큐비트, 상기 제 1 논리적 엔실라 큐비트 및 상기 제 2 논리적 엔실라 큐비트로 분할하고, 그리고 상기 제 1 논리적 엔실라 큐비트 및 상기 제 2 논리적 엔실라 큐비트를 비활성화 시키는 트리밍(trimming)을 수행하는 단계;를 포함하는,방법
|
5 |
5
제 2 항에 있어서,상기 복수의 논리적 데이터 큐비트들 중 상기 제 1 논리적 데이터 큐비트 및 상기 제 2 논리적 데이터 큐비트에 대한 논리적 CNOT를 수행하는 단계는,상기 제 1 논리적 데이터 큐비트와 상기 제 2 논리적 데이터 큐비트 사이에 적어도 하나의 제 3 논리적 데이터 큐비트가 존재하는 경우, 상기 제 1 논리적 데이터 큐비트와 상기 제 1 논리적 데이터 큐비트에 대응되는 제 1 논리적 엔실라 큐비트를 병합(merging)하여 제 4 병합 큐비트를 생성하는 단계;상기 제 2 논리적 데이터 큐비트, 상기 제 2 논리적 데이터 큐비트에 대응되는 제 2 논리적 엔실라 큐비트 및 상기 적어도 하나의 제 3 논리적 데이터 큐비트에 대응되는 적어도 하나의 제 3 논리적 엔실라 큐비트를 병합하여 제 5 병합 큐비트를 생성하는 단계;상기 제 4 병합 큐비트를 상기 제 1 논리적 데이터 큐비트와 상기 제 1 논리적 엔실라 큐비트로 분할(splitting)하는 단계; 분할된 상기 제 1 논리적 엔실라 큐비트와 상기 제 5 병합 큐비트를 병합하여 제 6 병합 큐비트를 생성하는 단계; 및상기 제 6 병합 큐비트를 상기 제 2 논리적 데이터 큐비트, 상기 제 1 논리적 엔실라 큐비트, 상기 제 2 논리적 엔실라 큐비트 및 상기 적어도 하나의 제 3 논리적 엔실라 큐비트로 분할하고, 그리고 상기 제 1 논리적 엔실라 큐비트, 상기 제 2 논리적 엔실라 큐비트 및 상기 적어도 하나의 제 3 논리적 엔실라 큐비트를 비활성화 시키는 트리밍(trimming)을 수행하는 단계;를 포함하는,방법
|
6 |
6
제 1 항에 있어서,상기 복수의 논리적 데이터 큐비트들을 가로열인 상기 제 1 열로 배치하는 단계는,상기 복수의 논리적 데이터 큐비트들을 수행 회로에서 관여되는 큐비트 연산의 개수에 기초하여 상기 제 1 열로 배치하는 단계;를 포함하는,방법
|
7 |
7
제 6 항에 있어서,상기 복수의 논리적 데이터 큐비트들을 상기 수행 회로에서 관여되는 상기 큐비트 연산의 개수에 기초하여 상기 제 1 열로 배치하는 단계는,상기 큐비트 연산의 개수에 기초하여 1순위로 결정된 제 4 논리적 데이터 큐비트를 상기 제 1 열의 중심부에 배치하는 단계;상기 큐비트 연산의 개수에 기초하여 2순위로 결정된 제 5 논리적 데이터 큐비트를 상기 제 1 열 상에서 상기 제 4 논리적 데이터 큐비트의 일측에 대응되도록 배치하는 단계; 및상기 큐비트 연산의 개수에 따라 3순위로 결정된 제 6 논리적 데이터 큐비트를 상기 제 1 열 상에서 상기 제 4 논리적 데이터 큐비트의 타측에 대응되도록 배치하는 단계;를 포함하는,방법
|
8 |
8
제 7 항에 있어서,상기 큐비트 연산의 개수에 따라 4순위로 결정된 제 7 논리적 데이터 큐비트를 상기 제 1 열 상에서 상기 제 6 논리적 데이터 큐비트의 일측에 대응되도록 배치하는 단계; 및상기 큐비트 연산의 개수에 따라 5순위로 결정된 제 8 논리적 데이터 큐비트를 상기 제 1 열 상에서 상기 제 5 논리적 데이터 큐비트의 일측에 대응되도록 배치하는 단계;를 더 포함하고,상기 제 5 논리적 데이터 큐비트의 일측은 상기 제 4 논리적 데이터 큐비트의 일측에 대응되지 않는 부분이고, 그리고 상기 제 6 논리적 데이터 큐비트의 일측은 상기 제 4 논리적 데이터 큐비트의 타측에 대응되지 않는 부분인,방법
|
9 |
9
제 1 항에 있어서,복수의 논리적 CNOT들을 수행하는 경우, 스케줄링(scheduling) 함수를 포함하는 라우팅(routing) 알고리즘을 이용하여 상기 복수의 논리적 CNOT들의 연산의 순서를 결정하는 단계;를 더 포함하는,방법
|
10 |
10
양자 컴퓨팅 장치에 의해 수행되는 양자 논리적 큐비트의 논리적 CNOT 연산 방법으로서,복수의 논리적 데이터 큐비트들(logical data qubits)을 사전 결정된 개수의 논리적 데이터 큐비트들을 포함하는, 가로열인 적어도 하나의 제 3 열로 배치하는 단계;상기 복수의 논리적 데이터 큐비트들에 각각 대응되는 복수의 논리적 엔실라 큐비트들(logical ancilla qubits)을 상기 적어도 하나의 제 3 열과 상이한 가로열인 적어도 하나의 제 4 열로 배치하는 단계;복수의 추가 논리적 엔실라 큐비트들을 상기 적어도 하나의 제 3 열 및 상기 적어도 하나의 제 4 열의 우측 끝단 또는 좌측 끝단 중 적어도 하나에 대응되도록, 세로열인 적어도 하나의 제 5 열로 배치하는 단계; 및상기 복수의 논리적 데이터 큐비트들 중 제 9 논리적 데이터 큐비트 및 제 10 논리적 데이터 큐비트에 대한 논리적 CNOT(controlled NOT)를 수행하는 단계;를 포함하는,방법
|