KR20230132369A - 양자 회로에서의 리소스 감소 - Google Patents
양자 회로에서의 리소스 감소 Download PDFInfo
- Publication number
- KR20230132369A KR20230132369A KR1020230017114A KR20230017114A KR20230132369A KR 20230132369 A KR20230132369 A KR 20230132369A KR 1020230017114 A KR1020230017114 A KR 1020230017114A KR 20230017114 A KR20230017114 A KR 20230017114A KR 20230132369 A KR20230132369 A KR 20230132369A
- Authority
- KR
- South Korea
- Prior art keywords
- pauli
- operator
- quantum circuit
- string
- quantum
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 54
- 230000005428 wave function Effects 0.000 claims abstract description 33
- 230000005283 ground state Effects 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims description 11
- 238000013503 de-identification Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 45
- 230000008569 process Effects 0.000 description 26
- 238000012545 processing Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 239000002096 quantum dot Substances 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000010845 search algorithm Methods 0.000 description 10
- 230000002085 persistent effect Effects 0.000 description 9
- 239000000126 substance Substances 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000001427 coherent effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005442 molecular electronic Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005281 excited state Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/60—Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/20—Models of quantum computing, e.g. quantum circuits or universal quantum computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
- G06N10/40—Physical realisations or architectures of quantum processors or components for manipulating qubits, e.g. qubit coupling or qubit control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B82—NANOTECHNOLOGY
- B82Y—SPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
- B82Y10/00—Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Semiconductor Lasers (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Superconductor Devices And Manufacturing Methods Thereof (AREA)
Abstract
양자 계산의 비용 함수를 최소화하는 방법(800)이 제공된다. 방법은 연관된 비용 함수(238)를 갖는 해밀토니안(204)을 포함하는 양자 문제 인스턴스의 초기 상태(202)의 입력을 수신하는 단계(802)를 포함한다. 해밀토니안은, 연산자 풀(206)을 형성하는데(806) 이용되는, 다수의 파울리 문자열(208)로 변환된다(804). 초기 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 연산자 풀의 파울리 문자열이 순위매김된다(808). VQE(variational quantum eigensolver) 알고리즘이 파라미터화 양자 회로에 의해 발생된 근사 바닥 상태 파동 함수로 수렴될 때까지 회로 깊이(234)를 최소화하는 방식으로 연산자 풀로부터 파라미터화 양자 회로(224)로 파울리 문자열이 반복적으로 부가된다(810).
Description
본 발명은 일반적으로 컴퓨팅 시스템에 관한 것으로, 보다 구체적으로는 최적 프로그램 및 회로를 설계하기 위한 자동화된 방법에 관한 것이다.
고급 알고리즘 개발(advanced algorithm development)은 어렵고 시간이 많이 소요될 수 있다. 특히 양자 컴퓨터의 경우, 양자 알고리즘 개발은 또한 양자 얽힘(quantum entanglement) 및 중첩(superposition)과 같은 양자 역학적 동작(quantum-mechanical behavior)에 대한 의존성에 기인하여 반직관적(counterintuitive)일 수 있다. 현재, 알고리즘 개발에 대한 주요 솔루션은 프로그램 또는 회로를 수동으로 설계하는 것인데, 이는, 고전적이든 양자적이든, 고전적인 시뮬레이션 도구 상에서 또는 직접적으로 하드웨어 상에서 수행될 수 있다.
따라서, 다른 가능한 문제뿐만 아니라 위에서 논의된 문제 중 적어도 몇몇을 고려하는 방법 및 장치를 갖는 것이 바람직할 것이다.
예시적인 실시예는 양자 계산의 비용 함수(cost function)를 최소화하는 컴퓨터 구현 방법을 제공한다. 방법은 연관된 비용 함수를 갖는 해밀토니안(Hamiltonian)을 포함하는 양자 문제 인스턴스(quantum problem instance)의 초기 상태의 입력을 수신하는 단계를 포함한다. 해밀토니안은, 연산자 풀(operator pool)을 형성하는데 이용되는, 다수의 파울리 문자열(Pauli strings)로 변환된다. 초기 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 연산자 풀의 파울리 문자열이 순위매김된다. VQE(variational quantum eigensolver) 알고리즘이 파라미터화 양자 회로(parameterized quantum circuit)에 의해 발생된 근사 바닥 상태 파동 함수(approximate ground state wave function)로 수렴될 때까지, 회로 깊이를 최소화하는 방식으로, 연산자 풀로부터 파라미터화 양자 회로에 파울리 문자열이 반복적으로 부가된다.
다른 예시적 실시예는 양자 계산의 비용 함수를 최소화하기 위한 시스템을 제공한다. 시스템은 프로그램 명령을 저장하도록 구성된 저장 장치와, 저장 장치에 동작가능하게 연결되고 시스템이: 연관된 비용 함수를 갖는 해밀토니언을 포함하는 양자 문제 인스턴스의 초기 상태의 입력을 수신하고; 다수의 파울리 스트링으로 해밀토니안을 변환시키고; 파울리 문자열로부터 연산자 풀을 형성하고; 초기 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 연산자 풀의 파울리 문자열을 순위매김하고; VQE(variational quantum eigensolver) 알고리즘이 파라미터화 양자 회로에 의해 발생된 근사 바닥 상태 파동 함수로 수렴될 때까지 회로 깊이를 최소화하는 방식으로 연산자 풀로부터 파라미터화 양자 회로로 파울리 문자열을 반복적으로 부가하도록; 하기 위한 프로그램 명령을 실행하도록 구성된 하나 이상의 프로세서를 구비하여 구성되는 것을 특징으로 한다.
다른 예시적 실시예는 양자 계산의 비용 함수를 최소화하기 위한 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품은 연관된 비용 함수를 갖는 해밀토니안을 포함하는 양자 문제 인스턴스의 초기 상태의 입력을 수신하는 단계; 다수의 파울리 문자열로 해밀토니안을 변환시키는 단계; 파울리 문자열로부터 연산자 풀을 형성하는 단계; 초기 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 연산자 풀의 파울리 문자열을 순위매김하는 단계; 및 VQE(variational quantum eigensolver) 알고리즘이 파라미터화 양자 회로에 의해 발생된 근사 바닥 상태 파동 함수로 수렴될 때까지 회로 깊이를 최소화하는 방식으로 연산자 풀로부터 파라미터화 양자 회로로 파울리 문자열을 반복적으로 부가하는 단계;를 수행하기 위해 내장된 프로그램 명령을 갖춘 컴퓨터 판독가능 저장 매체를 구비하여 구성된다.
특징 및 기능은 본 발명의 다양한 실시예에서 독립적으로 달성될 수 있거나, 더욱 상세한 내용을 이하의 설명 및 도면을 참조하여 알 수 있는 또 다른 실시예에 결합될 수 있다.
예시적인 실시예의 특징이라고 믿어지는 새로운 특징이 첨부된 청구항에서 설명된다. 그러나, 예시적인 실시예뿐만 아니라 바람직한 이용 모드, 추가 목적 및 그 특징은 첨부된 도면과 함께 읽을 때 본 발명의 예시적인 실시예의 다음의 상세한 설명을 참조함으로써 가장 잘 이해될 것이다:
도 1은 종래 기술에 따른 시행 착오를 통해 설계된 하드웨어 효율적 파라미터화 양자 회로(hardware efficient parameterized quantum circuit)를 도시한다.
도 2는 예시적인 실시예에 따른 양자 회로 모델링 시스템(quantum circuit modeling system)을 예시하는 블록도를 도시한다.
도 3은 예시적인 실시예에 따른 변형 양자 고유해석기 프로세스 흐름(variational quantum eigensolver process flow)을 도시한다.
도 4는 예시적인 실시예에 따른 양자 회로를 구성하는데 이용될 수 있는 4개의 예시적인 파울리 문자열(Pauli strings)을 도시한다.
도 5a는 예시적인 실시예에 따른 파라미터화 양자 회로의 제1 층을 예시하는 예시적인 양자 회로도를 도시한다.
도 5b는 예시적인 실시예에 따른 도 5a의 파라미터화 양자 회로에 대한 제2 층의 부가를 도시한다.
도 6은 예시적인 실시예에 따른 파라미터화 양자 회로의 제1 2개의 층을 예시하는 다른 예시적인 양자 회로도를 도시한다.
도 7은 예시적인 실시예에 따른 도 6의 양자 회로를 기초로 하는 트랜스파일드 회로(transpiled circuit)를 예시하는 양자 회로도를 도시한다.
도 8은 예시적인 실시예에 따른 양자 계산(quantum computation)의 비용 함수(cost function)를 최소화하는 프로세스를 예시하는 흐름도를 도시한다.
도 9는 예시적인 실시예에 따른 VQE 알고리즘에 대한 프로세스 흐름을 예시하는 흐름도를 도시한다.
도 10은 예시적인 실시예에 따른 데이터 처리 시스템의 블록도를 도시한다.
도 1은 종래 기술에 따른 시행 착오를 통해 설계된 하드웨어 효율적 파라미터화 양자 회로(hardware efficient parameterized quantum circuit)를 도시한다.
도 2는 예시적인 실시예에 따른 양자 회로 모델링 시스템(quantum circuit modeling system)을 예시하는 블록도를 도시한다.
도 3은 예시적인 실시예에 따른 변형 양자 고유해석기 프로세스 흐름(variational quantum eigensolver process flow)을 도시한다.
도 4는 예시적인 실시예에 따른 양자 회로를 구성하는데 이용될 수 있는 4개의 예시적인 파울리 문자열(Pauli strings)을 도시한다.
도 5a는 예시적인 실시예에 따른 파라미터화 양자 회로의 제1 층을 예시하는 예시적인 양자 회로도를 도시한다.
도 5b는 예시적인 실시예에 따른 도 5a의 파라미터화 양자 회로에 대한 제2 층의 부가를 도시한다.
도 6은 예시적인 실시예에 따른 파라미터화 양자 회로의 제1 2개의 층을 예시하는 다른 예시적인 양자 회로도를 도시한다.
도 7은 예시적인 실시예에 따른 도 6의 양자 회로를 기초로 하는 트랜스파일드 회로(transpiled circuit)를 예시하는 양자 회로도를 도시한다.
도 8은 예시적인 실시예에 따른 양자 계산(quantum computation)의 비용 함수(cost function)를 최소화하는 프로세스를 예시하는 흐름도를 도시한다.
도 9는 예시적인 실시예에 따른 VQE 알고리즘에 대한 프로세스 흐름을 예시하는 흐름도를 도시한다.
도 10은 예시적인 실시예에 따른 데이터 처리 시스템의 블록도를 도시한다.
예시적인 실시예는 하나 이상의 여러 고려사항을 인식하고 고려한다. 예시적인 실시예는 양자 컴퓨팅의 잠재적 속도 향상이 복잡한 문제를 해결하는 고전적인 방법을 넘어선다는 것을 인식하고 고려한다. 양자 컴퓨터는 재료 모델링, 최적화, 기계 학습, 및 암호화와 같은 특정 작업에 대해 상당한 컴퓨팅 이점을 제공할 가능성이 있다.
예시적인 실시예는 또한 현재의 양자 프로세서가 제한된 양자 리소스(큐비트(qubit) 및 코히어런스 시간(coherence time)의 제한된 수)로 잡음이 있음(noisy)을 인식하고 고려한다. 따라서, 이는 일반적으로 NISQ(Noisy Intermediate-Scale Quantum) 장치로 칭해진다. 바로 이러한 이유 때문에, 하이브리드 양자-고전 알고리즘(hybrid quantum-classical algorithms)은 전통적인 양자 알고리즘보다 적은 양자 리소스를 필요로 함에 따라 현재 하드웨어에 대한 주요 이용자가 되었다. 특히, VQE(Variational Quantum Eigensolver) 알고리즘과 QAOA(Quantum Approximate Optimization Algorithm)를 포함하는 VQA(Variational Quantum Algorithm)의 클래스는 어려운 문제에 대한 양자 속도 향상을 가능하게 하기 때문에 매우 대중적으로 되고 있다.
예시적인 실시예는 또한 이들 유형의 알고리즘을 위한 성공에 대한 핵심 요소 중 하나가, 안자츠(ansatz)(시험 파동 함수(trial wave function))로 또한 알려진, 파라미터 양자 회로의 구성임을 인식하고 고려한다. 파라미터 양자 회로가 더 많은 표현가능성을 소유할수록(즉, 양자 상태를 발생시키는 회로의 능력) 올바른 솔루션을 찾을 가능성이 더 커진다. 그러나, 임의의 높은 표현가능성을 갖는 파라미터 양자 회로는 문제의 차원과 관련하여 파라미터의 수에서의 스케일링이 잘되지 않아 VQA 비용 함수 전망을 통해 최적화하는 것이 바람직하지 않고 어렵다. 더욱이, 이러한 파라미터 양자 회로는 검색 공간의 복잡성 증가 때문에 종종 단순히 차선의 솔루션으로 이어진다.
예시적인 실시예는 또한 높은 정밀도이지만 또한 낮은 양자 리소스로 답변을 달성하기 위해 충분히 높은 표현가능성을 갖는 파라미터화 양자 회로를 구성하는 방법에 대한 일반적인 규칙이 없다는 것을 인식하고 고려한다.
도 1은 종래 기술에 따른 시행 착오를 통해 설계된 하드웨어 효율적 파라미터화 양자 회로(hardware efficient parameterized quantum circuit)를 도시한다. 현재, 관심의 대상이 되는 문제를 제기하면, 파라미터화 양자회로는, 회로 템플릿의 층이 회로의 표현가능성을 증가시키는 목표에 따라 반복되는, 다층 파라미터화 양자 회로(multi-layered parameterized quantum circuits)로 설계된다. 반복되는 층의 수는 시행 착오에 의해 선택된다. 본 예에 있어서, 대중적인 하드웨어 효율적 파라미터화 양자 회로는 도 1과 같은 일반적인 형태를 갖는다. 이러한 형태의 파라미터화 양자 회로 설계는 그 고정된 기본 구조로 인해 바닥 상태 파동 함수를 나타내기 위해 충분히 표현가능하게 되기 전에 매우 긴 양자 회로로 이어질 수 있다.
본-오펜하이머 근사법(Born-Oppenheimer approximation) 하에서 분자 시스템의 전자 바닥 상태 에너지(electronic ground state energy)를 찾는 것에 관한, 분자 전자 고유값 문제(molecular electronic eigenvalue problem)는, 그 자체로, 제1 원리로부터 실제 분자를 정확하게 모델링하기 위한 그 능력에 기인하여 큰 관심을 받는 문제이다. 그러나, 문제의 기하급수적 규모 때문에, 전통적인 컴퓨터 상에서 수십 개 이상의 전자가 있는 시스템의 정확한 솔루션을 찾는 것은 불가능하다. 고성능 컴퓨터 상에서 1000개 이상의 전자를 갖는 대규모 시스템에 액세스하기 위해 도입된 몇 가지 근사 기술이 있다. 그러나, 이러한 기술은 화학적 정확성을 갖는 솔루션을 제공하지 않는다. 따라서, 세계 최고의 슈퍼컴퓨터를 가지고도 수천 개의 전자로 분자구조를 다루는 것은 불가능한 일이다. 단기 양자 컴퓨터(Near-term quantum computers)는 VQE를 이용하여 잠재적으로 이 문제를 효율적으로 해결할 수 있다. 그러나, VQE는 휴리스틱 알고리즘(heuristic algorithm)이고, 그 성공은 파라미터화 양자 회로의 설계에 크게 좌우된다.
예시적인 실시예는 가능한 한 낮게 양자 리소스를 유지하면서 관심 있는 문제에 관하여 충분히 높은 표현가능성을 갖는 파라미터화 양자 회로를 결정하기 위한 방법을 제공한다. 예시적인 실시예는 여전히 고정밀 결과를 달성하면서 NISQ 장치 내에 맞도록 충분히 낮은 양자 리소스를 갖는 컴팩트한 파라미터화 양자 회로를 생성하기 위한 능력을 제공한다.
예시적인 실시예는 변형 양자 고유해석기(VQE; variational quantum eigensolver) 알고리즘과 같은 변형 양자 알고리즘(variational quantum algorithms)에 적용된다. 이 접근법은, 예컨대 도 1에 도시된 하드웨어 효율적 파라미터화 양자 회로에서와 같이, 동일한 회로 구조를 반복해서 반복적으로 부가하는 것에 의해 회로 표현가능성을 증가시키는 것과 비교하여 양자 회로의 양자 리소스의 감축을 가능하게 한다.
도 2를 참조하면, 예시적인 실시예에 따른 양자 회로 모델링 시스템의 블록도의 예시가 도시된다. 양자 회로 모델링 시스템(200)은 화학적 시스템에 대한 바닥 상태 파동 함수를 발생시키기 위해 파라미터화 양자 회로(224)를 발생시키고 미세 조정한다. 양자 회로 모델링 시스템(200)은 가장 낮은 에너지를 갖는 파동 함수(바닥 상태 파동 함수)를 발생시킬 때까지 파라미터화 양자 회로(224)를 점진적으로 미세 조정한다.
양자 회로 모델링 시스템(200)은, 해밀토니안(204; Hamiltonian)에 의해 특징지워지는, 문제의 화학 시스템의 평균-필드 초기 상태(202; mean-field initial state), 즉 하트리-폭(Hartree-Fock) 상태를 정의하는 것에 의해 시작한다.
해밀토니안(204)은 다수의 파울리 문자열(208; Pauli strings)로 분해될 수 있다. 각각의 파울리 문자열(210)은 파울리 행렬(Pauli matrices)과 해밀토니안(204)에 대한 기초를 정의하는 2×2 식별 행렬(Identity matrix)로 만들어지는 연산자(212)의 시퀀스를 구비한다. 연산자(212)는 식별 연산자(214; identity operators)와 비-식별 연산자(216; non-identity operators)로 나누어질 수 있다. 연산자(212)의 시퀀스는 비-식별 연산자 경로 길이(218; non-identity operator path length) 및 식별 연산자 경로 길이(220; identity operator path length)에 의해 특징지워질 수 있다. 비-식별 연산자 경로 길이(218)는 파울리 문자열(210)(연산자의 총 수)에서 소정의 외부 아이템 연산자를 뺀 길이이다. 예컨대, 파울리 문자열 YXZIYZIIZ는 8개의 비-식별 연산자 경로 길이(전체 문자열)을 갖는 반면, 파울리 문자열 YXZXXXIII는 5개의 비-식별 연산자 경로 길이를 갖는다(도 4 참조). 이 수는 파울리 문자열 내의 식별 연산자(214)의 위치에 따라 파울리 문자열(210)의 연산자(212)의 총 수의 세브셋(subset of the total number) 또는 연산자(212)의 전체 수(full number)만을 구비할 수 있다. 비-식별 연산자 경로 길이(218)가 짧을수록 파라미터화 양자 회로(224)에서의 파울리 문자열(210)을 구현하는 것과 관련된 양자 리소스(222)가 적어진다. 식별 연산자 경로 길이(220)는 파울리 문자열(210) 내의 외부 식별 연산자(214)의 수에 의해 정의된다.
파라미터화 양자 회로(224)는 파울리 문자열의 지수화(exponentiation)로부터 구축되는 다수의 층(228)을 구비할 수 있다. 각 층(230)은 (비용 함수 값을 감소시키는) 에너지 저하에 대한 그 기여도 뿐만 아니라 그 구조, 즉 식별 및 비-식별 경로 길이에 기초하여 선택되는 대응하는 파울리 문자열(210)을 갖는다. 각 층(230)은 파울리 문자열 내의 비-식별 연산자에 따라 파라미터화 양자 회로(224) 내의 큐비트(226; qubits)에 적용된 양자 게이트(232) 형태의 서브-회로로 생각될 수 있다. 회로 깊이(234)는 파라미터화 양자 회로(224)의 가장 긴 경로에서 이용되는 양자 게이트(232)의 수에 의해 결정되고, 이는 파라미터화 양자 회로(224)에 대한 필요한 코히어런트 시간인, 양자 리소스를 결정한다. 예컨대, 10 큐비트를 이용하고 20의 깊이를 갖춘 양자 회로는 5의 깊이를 갖는 10-큐비트 양자 회로보다 더 많은 양자 리소스를 소비한다.
파라미터화 양자 회로(224)는 화학 시스템의 해밀토니안(204)과 연관된 비용 함수(238)에 대한 기대값(expectation value)(에너지)(240)을 계산하는데 이용되는 시도 파동함수(236; trial wavefunction)를 발생시킨다. 비용 함수(238)는 일반적으로 다음과 같이 표현되는 특정 파라미터화 양자 회로에 대한 에너지 전망(energy landscape)을 정의한다:
여기서 는 파라미터화 양자 회로(224)를 정의하는 파라미터 벡터, 즉 를 나타낸다.
많은 파라미터화 양자 회로는 추구하는 정확한 솔루션(파동 함수)을 발생시킬 수 있기 전에 긴 회로 깊이가 필요로 한다. 예시적인 실시예는 여전히 정확한 솔루션을 발생시키면서 회로 깊이(234)를 최소화하는 파라미터화 양자 회로(224)의 설계를 허용한다.
고전적 최적화기(242; classical optimizer)는 비용 함수가 최소화되도록 파라미터화 양자 회로(224)의 파라미터를 최적화하고 파라미터화 양자 회로(224)에 더 많은 파울리 문자열(층(228))을 계속해서 부가할지의 여부를 결정하기 위해 VQE 알고리즘의 일부로서 이용된다. 비용 함수(238)를 낮추는데 기여하는 그러한 파울리 문자열만이 파라미터화 양자 회로(224)에 부가된다. 예컨대, 현재 파라미터화 양자 회로는:
10개 파울리 문자열 , 에 에 의해 형성됨을 의미하는
과 같은 형태일 수 있다. VQE 알고리즘은 예컨대 -5의 에너지를 생산할 수 있다. 이 값은 8개 및 9개 파울리 문자열만을 갖는 VQE 결과와 비교된다. 에너지 값이 본질적으로 동일하다면, 더 이상의 파울리 문자열(층)은 파라미터화 회로(224)에 부가되지 않는다. 그러나, 에너지가 9개 파울리 문자열 보다 10개 파울리 문자열에서 더 낮으면(미리 정의된 임계값 이상), 다른 파울리 문자열이 부가된다.
양자 회로 모델링 시스템(200)은 소프트웨어, 하드웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다. 소프트웨어가 이용될 때, 양자 회로 모델링 시스템(200)에 의해 수행되는 동작은, 프로세서 유닛과 같은, 하드웨어 상에서 실행되도록 구성된 프로그램 코드로 구현될 수 있다. 펌웨어가 이용될 때, 양자 회로 모델링 시스템(200)에 의해 수행되는 동작은 프로그램 코드 및 데이터로 구현되고 프로세서 유닛 상에서 실행되도록 영구 메모리에 저장될 수 있다. 하드웨어가 이용될 때, 하드웨어는 양자 회로 모델링 시스템(200)에서 동작을 수행하도록 동작하는 회로를 포함할 수 있다.
예시적인 예에 있어서, 하드웨어는 회로 시스템, ASIC(application specific integrated circuit), 프로그래머블 논리 장치, 또는 다수의 동작을 수행하도록 구성된 몇몇 다른 적절한 형태의 하드웨어 중 적어도 하나로부터 선택된 형태를 취할 수 있다. 프로그래머블 논리 장치에 따라, 장치는 다수의 동작을 수행하도록 구성될 수 있다. 장치는 다수의 동작을 수행하도록 나중에 재구성되거나 영구적으로 구성될 수 있다. 프로그래머블 논리 장치는, 예컨대 프로그래머블 논리 어레이, 프로그래머블 어레이 논리, 필드 프로그래머블 논리 어레이, 필드 프로그래머블 게이트 어레이, 및 다른 적절한 하드웨어 장치를 포함한다. 부가적으로, 프로세스는 무기 성분과 통합된 유기 성분으로 구현될 수 있고, 인간을 제외한 전체 유기 성분으로 구성될 수 있다. 예컨대, 프로세스는 유기 반도체의 회로로서 구현될 수 있다.
양자 회로 모델링 시스템(200)을 위한 이들 구성요소는 물리적 하드웨어 시스템이고 하나 이상의 데이터 처리 시스템을 포함하는 컴퓨터 시스템(250)에 위치될 수 있다. 하나 이상의 데이터 처리 시스템이 컴퓨터 시스템(250)에 존재할 때, 이들 데이터 처리 시스템은 통신 매체를 이용하여 서로 통신한다. 통신 매체는 네트워크일 수 있다. 데이터 처리 시스템은 컴퓨터, 서버 컴퓨터, 태블릿 컴퓨터, 또는 몇몇 다른 적절한 데이터 처리 시스템 중 적어도 하나로부터 선택될 수 있다.
예컨대, 양자 회로 모델링 시스템(200)은 컴퓨터 시스템(250)의 하나 이상의 프로세서(252) 상에서 실행될 수 있다. 여기서 이용되는 바와 같이, 프로세서는 하드웨어 장치이고 컴퓨터를 동작시키는 명령 및 프로그램 코드에 응답하고 처리하는 집적 회로 상의 하드웨어 회로로 구성된다. 프로세서(252)가 프로세스에 대한 명령을 실행할 때, 하나 이상의 프로세서가 컴퓨터 시스템(250)의 동일한 컴퓨터 또는 다른 컴퓨터 상에 있을 수 있다. 즉, 프로세스는 컴퓨터 시스템(250)에서의 동일하거나 다른 컴퓨터 상의 프로세서(252) 사이에서 분산될 수 있다. 더욱이, 하나 이상의 프로세서(252)는 동일한 형태 또는 다른 형태의 프로세서(252)일 수 있다. 예컨대, 하나 이상의 프로세서(252)는 단일 코어 프로세서, 듀얼 코어 프로세서, 멀티 프로세서 코어, 범용 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 양자 처리 장치(QPU), 디지털 신호 프로세서(DSP) 또는 다른 형태의 프로세서 중 적어도 하나로부터 선택될 수 있다.
도 3은 예시적인 실시예에 따른 VQE(variational quantum eigensolver; 변형 양자 고유해석) 프로세스 흐름을 도시한다. 검색 알고리즘(300)은 도 2의 양자 회로 모델링 시스템(200)으로 구현될 수 있다. 검색 알고리즘(300)은 3가지 단계를 포함한다: 1) 초기 상태(302)를 준비하는 것, 2) 시도 파동함수(306)를 발생시키는 파라미터화 양자 회로(304)로 해밀토니언에 대한 기대값(308)을 계산하는 것, 및 3) 양자 회로에서 파라미터화 양자 회로 파라미터 를 업데이트하는 것을 매개로 비용 함수 를 최소화하기 위해 고전적 최적화기(310)를 활용하는 것. H는 Born-Oppenheimer 근사치 내에서 분자 전자 해밀토니언(molecular electronic Hamiltonian)을 설명하고, 이는 H가 다음과 같은 제2 양자화의 형태로 작성될 수 있도록 하고:
이어, Jordan-Wigner 또는 Bravyi-Kitaev와 같은, 몇몇 형태의 변환을 이용하여 큐비트 연산자 상으로 맵핑하여 다음 형식에 도달할 수 있도록 한다:
트레이스(Trace)의 선형 특성을 이용하면 다음이 생성되고:
이는 현재 및 단기 양자 컴퓨터 상에서 <H>의 계산을 허용한다. 더욱이, <H>의 항은 O(N4)의 스케일에서만 증가한다.
양자 컴퓨터 상에서 변형 형태 계산(variational type calculations)을 실행하는 것의 이점 중 하나는 양자 컴퓨터 상에서 어려운 시도 파동함수를 발생시키는 것의 효율성이다. 양자 컴퓨터 상에서는 매우 효율적으로 준비될 수 있지만 고전적 컴퓨터 상에서는 준비될 수 없는 상태가 있다.
검색 알고리즘(300)의 핵심 요소는, 바닥 상태 에너지에 대한 양호한 근사를 허용하는, 바닥 상태 파동함수에 가까운 시도 파동함수(306; trial wavefunction)를 효율적으로 발생시킬 수 있는 파라미터화 양자 회로(304)를 설계하는 것이다.
검색 알고리즘(300)은 분자 해밀토니언을 2×2 식별 행렬과 함께 파울리 행렬의 N-폴더 텐서 곱(N-fold tensor products)인 파울리 문자열로 분해된다. 파울리 문자열의 수는 O(N4)로서 스케일링될 것이다:
효율적인 파라미터화 양자 회로를 구성하기 위해 본 실시예에 의해 이용될 모든 관련 파울리 문자열 을 포함하는 세트는 로 표시될 것이다. S는 해밀토니안 에서의 파울리 문자열을 기초로 구성됨을 유의해야 한다. 그러나, 의 엘리먼트는 의 엘리먼트와 동일하지 않다. 에서의 파울리 문자열은 다음 형식의 적응형 파라미터화 양자 회로를 구축하는데 이용되는 연산자 풀(operator pool)을 형성한다:
여기서, B는 또는 또는 로 취해질 수 있고, 이는 각각 단일 큐비트 회전 게이트 또는 식별 게이트의 층과 동등하다. 몇몇 다른 단일 큐비트 회전의 형태를 취할 수 있을 뿐만 아니라 다른 단일 큐비트 회전의 혼합, 예컨대 회전의 혼합의 형태를 취할 수 있다. 이상적으로, 교환가능 연산자(commuting operators)가 공통 고유벡터(common eigenvector)를 공유함에 따라, 및 에 대해 교환가능하지 않는 것이 바람직하다.
파울리 문자열의 세트, 가 결정된 후, 예시적인 실시예는 수렴에 도달할 때까지 층별로 파라미터화 양자 회로, 를 구성하고, 이는 더 이상의 에너지 감소가 없음을 의미하는 것으로 즉, 비용 함수가 그 최소값에 도달했음을 의미한다. 파울리 문자열이 파라미터화 양자 회로에 부가되면, 해당 문자열은 세트, 로부터 제거되고, 따라서 향후 반복에서 파라미터화 양자 회로에 부가할 수 있는 연산자의 풀에는 더 이상 없게 된다.
파라미터화 양자 회로의 제1 층을 구축하는 것은 다음과 같은 를 찾는 것을 포함한다:
이 에 대한 검색은 효율적이다. VQE가 를 결정하는 알고리즘으로서 선택되면, 이어 VQE의 실행이 필요로 되고, 이는 최악의 경우 로서 스케일링된다. 일반적으로, 이는 훨씬 적다. 전체 알고리즘은 처음부터 끝까지 O(poly(N))로서 또한 스케일링됨을 주지해야 한다. 다음과 같은 다수 가 존재할 수 있다:
여기서 는 임의의 값이지만, 화학적 정밀 임계값(10-3 Hartree) 이하로 취해져야만 한다. 이러한 는 M으로 표시된 세트에 속한다. M 내에서, 파울리 연산자의 배열을 기초로, 그 최상의 엘리먼트, 를 결정할 수 있다. 이 선택은 회로 를 발생시키는데 필요한 양자 리소스를 기초로 한다. 를 선택하기 위한 기준 중 하나는 그 포함하는 식별 연산자의 수이다. 이 기준은
인
를 갖는 간단한 예로 설명될 수 있고, 이는 단일 큐비트만 포함하는 회로이다. 따라서, 식별 연산자가 많으면 많을수록 더 좋다.
그러나, 현재 대부분의 양자 프로세서는 모든 큐비트 연결을 하고 있지는 않고, 오히려 단지 인접하는 큐비트 연결만을 하고 있다. 따라서, 더 많은 식별 연산자를 갖는 것이 반드시 더 적은 양자 리소스에 대응하는 것은 아니고, 오히려 식별 연산자의 소정의 배열을 갖추는 것은 회로 깊이를 감소시킬 것이다.
도 4는 예시적인 실시예에 따른 양자 회로를 구성하는데 이용될 수 있는 4가지의 예시적인 파울리 문자열을 도시한다. 파울리 문자열은 검색 알고리즘(300)이 파라미터화 양자 회로(304)를 구축하기 위한 빌딩 블록으로서 이용될 수 있는 서브-회로로 간주될 수 있다.
본 예에 있어서, 각 파울리 문자열 P0, P1, P2, P3는 3개의 식별 연산자, I를 포함하지만, 그들의 대응하는 회로는 그들 연산자의 각각의 시퀀스, 특히 식별 연산자의 위치에 기인하여 다른 레벨의 복잡성을 갖는다.
현재의 예에 있어서, P0은 구현에 대해 비용과 복잡성이 가장 높고 P1은 두 번째로 가장 높은 비용을 갖으며 P2 그리고 이어 P3에 의해 이어진다. 파울리 문자열 및 그 연관된 양자 회로의 비용/복잡성은 파울리 문자열의 길이에서 소정의 외부 식별 연산자를 빼는 것에 의해 정의되는 경로 길이에 의해 결정된다. 이 정의는, 해당 위치에서의 특정 큐비트가 이용되지 않을 것임을 식별 연산자 I가 나타냄에도 불구하고, 이는 여전히 인접하는 파울리 사이에서 갭을 생성하기 때문에 이용된다. 현재 및 단기 양자 컴퓨터는 주로 인접하는 큐비트 레이아웃만을 가질 것임을 감안할 때, 부가적인 양자 동작이 수행되어야만 하여 내부 식별 연산자의 양측 상의 큐비트가 서로 대화할 수 있으므로 내부 식별 연산자는 양자 리소스 감소의 측면에서 도움이 되지 않는다. 예시적인 실시예의 VQE 검색 알고리즘(300)은 층별로 파라미터화 양자 회로를 구축할 때 양자 게이트 사이의 이러한 빈 공간을 최소화하도록 추구한다.
도 4에 도시된 바와 같이, 외부 식별 연산자가 없기 때문에 P0는 8개의 경로 길이를 갖는다. 즉, 비-식별 연산자 경로는 파울리 문자열의 전체 길이를 차지한다. P1의 경우, 왼쪽과 오른쪽에 하나씩 2개의 외부 식별 연산자가 있어, P1에는 6개의 비-식별 연산자 경로 길이를 부여한다. 같은 토큰에 의해, P2와 P3 양쪽은 5개의 비-식별 연산자 경로 길이를 갖는다. 그러나, 외부 식별 연산자의 정렬은 P2와 P3에 대해 다르다. 보다 구체적으로, P2는 하나의 왼쪽 외부 식별 연산자와 2개의 오른쪽 외부 식별 연산자를 갖는 반면, P3는 오른쪽에서 모든 3개의 식별 연산자를 갖는다. 동일한 수의 외부 식별 연산자를 갖는 파울리 문자열은 등가 클래스(equivalence class)에 속한다.
동일한 등가 클래스 내의 파울리 문자열은 외부 식별 연산자 경로의 길이(얼마나 많은 식별 연산자가 비-식별 연산자의 어느 측 상에 있는가)에 따라 더욱 차별화될 수 있다. 왼쪽과 오른쪽인, 단지 가능한 2개의 경로가 있다. 따라서, 검색 알고리즘(300)은 다음을 찾고:
따라서
이고
여기서 는 각각 의 왼쪽 및 오른쪽 외부 식별 경로 길이에 대응하고, 은 클래스 에서 다른 파울리 문자열 의 왼쪽 및 오른쪽 외부 식별 경로 길이에 대응한다.
따라서, 도 4의 예에 있어서, P3는 3개의 최대 오른쪽 외부 식별 연산자 경로 길이를 갖는 반면, P2는 2개의 최대 오른쪽 외부 식별 연산자 경로 길이를 갖는다. 따라서, 양쪽이 동일한 등가 클래스에 속하더라도 P3가 P2보다 우선순위로 되거나 더 높은 지위를 갖는다.
이 프로세스에 대한 정당성은 모든 에 대한 회로 구성이 동일한 복잡성을 갖음에도 불구하고, 몇몇은 다른 것에 비해 파라미터화 양자 회로의 다음 스테이지/층에서 더 나은 유연성을 제공한다는 것이다. 더 긴 식별 체인(longer identity chain)은 현재 파울리 문자열과 병렬로 실행될 수 있는 파울리 문자열을 선택하기 위한 다음 단계에서 더 많은 유연성을 제공하고, 그에 의해 원래 보다 코히어런트 시간의 절반으로 2개의 층을 가능하게 수행하는 (연산자 풀로부터 2개의 파울리 문자열을 실행하는) 방법을 제공한다.
따라서, 검색 알고리즘(300)은 연산자 풀 의 모든 등가 클래스의 세트 내에서 가장 큰 에너지-저하 등가 클래스로부터 가장 긴 외부 식별 경로를 갖는 파울리 문자열로 시작하는 파라미터화 양자 회로(304)를 구축한다. 다음 층에 대해, 알고리즘은 이전의 파울리 문자열로부터 비-식별 연산자와 식별 연산자 사이에서 가장 큰 중첩을 갖는 파울리 문자열을 선택하는 것에 의해 VQE 파라미터화 양자 회로를 확장할 것이다. 선택 체계는, 먼저 가장 큰 에너지-저감 클래스에 따라, 순서대로 등가 클래스를 거치게 된다. 하나 이상의 파울리 문자열이 발견되면, 알고리즘은 가장 긴 외부 식별 연산자 경로 길이를 갖는 문자열을 선택할 것이다. 가장 긴 외부 식별 연산자를 갖는 파울리 문자열의 선택은 전체 회로 깊이의 감소에서 중요하다. 수렴에 도달하거나 미리 정의된 층의 최대 수에 도달할 때까지 프로세스는 반복된다.
도 5a는 예시적인 실시예에 따른 파라미터화 양자 회로의 제1 층을 예시하는 예시적인 양자 회로도를 도시한다. 도 5b는 예시적인 실시예에 따른 도 5a의 파라미터화 양자 회로에 제2 층을 부가하는 것을 도시한다.
도 5a에 도시된 예에 있어서, 제1 층은 도 4에서의 파울리 문자열 로 구축된다. 대응하는 양자 회로(500A)에 있어서, 파울리 문자열의 가장 왼쪽 연산자는 첫 번째 큐비트 q0에 대응하고, 가장 오른쪽 연산자는 9번째 큐비트 q8에 대응한다. 따라서, P3의 마지막 3군데 위치의 3개의 외부 식별 연산자 때문에, 큐비트 q6, q7 및 q8는 양자 게이트를 갖고 있지 않다.
제2 층을 구축함에 있어서의 목표는 에너지 최소 방향으로 파라미터화 양자 회로를 확장하면서 가능한 한 적은 필요한 코히어런트 시간으로 제1 층의 결과를 개선하도록 시도하기 위한 것이다. 이 목표는 층 1과 층 2의 회로가 병렬 또는 거의 병렬로 수행될 수 있다면 달성될 수 있다.
본 예에 있어서, 제1 층에 대해 이용된 파울리 문자열 P3은 문자열의 처음 6군데의 위치에서 비-식별 연산자를 갖는다. 따라서, 제2 층에 대해, 목표는 가능하다면 문자열의 처음 6군데의 위치에서 식별 연산자를 갖는 파울리 문자열을 찾는 것이다. 그렇지 않으면, 다음의 가장 큰 가능한 중첩이 이용된다. 이들 파울리 문자열은 일시적 세트(temporary set) 에 저장되고, 여기서 검색 알고리즘은 초기 순위에서 속하는 등가 클래스의 순서를 기초로 그들의 에너지-저하 순서와 함께 최적의 외부 식별 연산자 경로를 기초로 최상의 문자열을 결정할 것이다. 본 예에 있어서, 최상의 파울리 문자열은 와 같은 형식으로 될 수 있고, 이는 파라미터화 양자 회로의 제2 층으로서 부가될 때 (제1 층에 의해 개방 상태로 남아 있었던) 큐비트 q6-q8에 양자 게이트를 부가하고, 이에 의해 도 5b에 도시된 양자 회로(500B)를 생산한다.
양자 회로(500B)는 2개의 층을 포함하지만, 제1 층만을 포함하는 양자 회로(500A)와 비교하여 실행에 대한 부가 시간은 필요로 되지 않는다.
이므로
구동 해밀토니안은 단지 한 번만 작용되어질 필요가 있디.
이와 같이, 활용가능하다면 이전의 층에서 높은 외부 식별 연산자 경로 길이를 갖는 파울리 문자열을 선택하는 것이 바람직하다. 외부 식별 연산자 경로 길이가 최소이면(즉, 1 이하), 본 단계는 건너뛸 수 있거나 다른 층에 맞추기 위해 가장 높은 내부 식별 연산자 경로의 이용이 만들어질 수 있다.
도 6은 예시적인 실시예에 따른 파라미터화 양자 회로의 처음 2개의 층을 예시하는 다른 예시적인 양자 회로도를 도시한다. 도 6은 파라미터화 양자 회로를 최적화하기 위해 내부 식별 연산자 경로 길이를 이용하는 예를 예시한다.
본 예에 있어서, 양자 회로(600)의 제1 층은 파울리 문자열 를 기초로 한다. 제2 층에 대해 선택된 파울리 문자열은 제1 층의 내부 식별 연산자에 의해 남겨진 공간의 이점을 취하도록 선택된다. 본 예에 있어서, 제2 층은 파울리 문자열 을 기초로 한다. 따라서, 의 중간에 있는 비-식별 연산자를 기초로 하는 양자 게이트는, 양자 회로(600)에 도시된 바와 같이, 제1 층에 의해 개방 상태로 남겨진 큐비트 q3-q5를 점유할 수 있다.
양자 회로(600)에 있어서, q2와 q6 사이의 얽힘 게이트(entanglement gate)는, 일반적으로 상당한 양의 스와핑 오버헤드(swapping overhead)를 필요로 하는, 장거리 2개-큐비트 상호작용(long-range two-qubit interaction)이다. 그러나, 양자 회로(600)는 q2와 q6 사이에서 일련의 CNOT 게이트를 구비하기 때문에, 많은 항이, 양자 회로(600)를 기초로 트랜스파일드 양자 회로(transpiled quantum circuit)를 도시하는, 도 7에 도시된 바와 같이 더 짧은 회로를 생성하기 위해 결합될 수 있다.
파라미터화 양자 회로가 최적의 파울리 문자열을 이용하여 제2 층을 부가하는 것에 의해 확장된 후, 반복 층(iterative layers)은 논의된 제1 및 제2 층과 동일한 논리를 이용하여 부가될 것이다. 프로세스는, 에너지가 더 이상 감소하지 않음을 의미하는, 수렴에 도달할 때까지, 또는 회로 층의 미리 정의된 최대 수에 도달할 때까지 계속된다.
연산자 풀 내의 연산자의 순위를 낮추고 개선하여, 결과적으로 실행 시간 최소화와 함께 VQE 결과를 개선하기 위해, 소정의 화학적 특성이 특정 파울리 문자열을 필터링해내거나 파라미터화 양자 회로 확장 구성 프로세스 동안 그 우선순위를 낮추기 위해 초기 순위매김(initial ranking) 동안 이용될 수 있다. 특히, 파라미터화 양자 회로로 발생될 상태인, 바닥 상태 파동 함수가 제로의 총 각운동량 및 스핀과 같은 원하는 특정 화학적 특성을 갖기 때문에, 총 각운동량(total angular momentum) 또는 스핀(spin)이 이용될 수 있다.
근사 바닥 상태 파동 함수를 나타내기 위해 파라미터화 양자 회로를 검색하고 구축할 때, 파라미터화 양자 회로는 총 각운동량, 스핀, 및 총 각운동량과 같은 소정 속성을 보존해야 한다. 이들 특성은 적절한 큐비트 연산자의 기대값(expectation values)으로서 효율적으로 계산된다. 이 경우 VQE는 차선의 솔루션으로 쉽게 수렴할 것이므로 이들 특성의 보존은 바닥 상태와 처음의 아주 적은 여기 상태 사이의 에너지 갭이 작을 때 매우 중요하다. 그러나, 부가적 제약(additional constraint)이 사건으로부터 이를 방지할 수 있다. 이러한 제약은 "소프트 제약(soft constraint)" 또는 "하드 제약(hard constraint)"으로 분류될 수 있다.
소프트 제약은 총 각운동량 출력에 부가하여 그들의 에너지 출력에 대응하는 최적의 파울리 문자열을 선택하는 것을 언급한다. 따라서, 낮은 에너지를 발생시킬 수 있는 파울리 문자열은 높은 총 각운동량을 가질 수 있으므로 반드시 최상은 아니다.
예컨대, 하드 제약은 페널티 항목(penalty term)으로서 비용 함수에 총 각운동량 연산자를 부가함에 따라 구현될 수 있다.
이 경우,
는
가 된다.
에 대한 큰 값은 파라미터화 양자 회로 파동 함수에서 총 각운동량의 보존을 보장한다.
도 8은 예시적인 실시예에 따른 양자 계산(quantum computation)의 비용 함수(cost function)를 최소화하는 프로세스를 예시하는 흐름도를 도시한다. 프로세스 흐름(800)은 도 2에 도시된 양자 회로 모델링 시스템(200)으로 구현될 수 있다.
프로세스(800)는 연관된 비용 함수를 갖는 해밀토니안을 구비하는 양자 문제 인스턴스의 초기 상태의 입력을 수신하는 것에 의해 시작한다(동작 802).
프로세스(800)는 다수의 파울리 문자열로 해밀토니안을 변환하고(동작 804), 파울리 문자열로부터 연산자 풀을 형성한다(동작 806).
연산자 풀의 파울리 문자열은 초기 상태, 예컨대 Hartree-Fock 상태와 같은 평균 필드 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 순위매김된다(동작 808). 연산자 풀의 파울리 문자열은 비-식별 연산자 경로 길이에 따라 더욱 순위매김될 수 있다. 동일한 비-식별 연산자 경로 길이를 갖는 파울리 문자열은 동일한 등가 클래스 내에서 그룹화될 수 있다. 동일한 등가 클래스 내의 파울리 문자열은 최대 외부 식별 경로 길이에 따라 더욱 순위매김될 수 있다.
프로세스(800)는, VQE 알고리즘이 (바닥 상태 에너지를 의미하는) 파라미터화 양자 회로에 의해 발생된 근사 바닥 상태 파동 함수로 수렴할 때까지, 회로 깊이를 최소화하는 방식으로, 연산자 풀로부터 파라미터화 양자 회로에 파울리 문자열을 반복적으로 부가한다. 파라미터화 양자 회로의 양자 게이트는 파울리 문자열의 비-식별 연산자에 대응한다. 반복은 순위에 따라 연산자 풀로부터 파라미터화 양자 회로에 파울리 문자열을 부가하는 것을 포함한다(동작 810). 연산자 풀로부터의 파울리 문자열이 파라미터화 양자 회로에 부가된 후, 연산자 풀로부터 폐기되고 향후 반복에서 다시 이용되지 않는다.
수렴에 도달했는지를 결정하기 위해(동작 814) 이어 VQE 알고리즘이 실행된다(동작 812). VQE 알고리즘이 수렴에 도달하지 않았다는 결정에 응답하여, 프로세스(800)는 파라미터화 양자 회로에 부가하기 위해 연산자 풀에서 다른 파울리 문자열을 선택한다.(동작 816). 연산자 풀로부터 파라미터화 양자 회로에 부가된 새로운 파울리 문자열은 새로운 파울리 문자열의 식별 연산자와 마지막으로 부가된 파울리 문자열의 비-식별 연산자의 중첩을 최대화하고, 새로운 파울리 문자열의 비-식별 연산자와 마지막으로 부가된 파울리 문자열의 식별 연산자의 중첩을 최대화하도록 선택된다.
VQE 알고리즘이 수렴에 도달하거나 연산자 풀에 파울리 문자열이 남아 있지 않을 때까지 동작(810 내지 816)이 반복적으로 반복된다. 양자 회로가 수렴에 도달할때, 단계(810-816)의 반복이 중지된다. 수렴에 대응하는 VQE 알고리즘 출력은 바닥 상태 에너지로서 취해진다. 그 후 프로세스(800)가 종료된다.
도 9는 예시적인 실시예에 따른 VQE 알고리즘에 대한 프로세스 흐름을 예시하는 흐름도를 도시한다. 프로세스 흐름(900)은 도 8의 동작(812)의 보다 상세한 도면이다.
프로세스(900)는 비용 함수에 대한 기대값을 계산(동작 904)하는데 이용되는 파라미터화 양자 회로에 의해 시도 파동 함수를 발생시키는 것에 의해 시작한다(동작 902).
이어 고전적 최적화기는 파라미터화 양자 회로의 다수의 파라미터를 최적화한다(동작 906). 최적 파라미터는 비용 함수의 최소값을 발생시키는 값에 대응한다. 그 후 프로세스(900)가 종료된다.
도 10을 참조하면, 예시적인 실시예에 따른 데이터 처리 시스템의 블록도의 예시가 도시된다. 데이터 처리 시스템은 도 2에서의 컴퓨터 시스템(250)의 예일 수 있다. 데이터 처리 시스템(1000)은 도 3에서의 VQE 검색 알고리즘(300) 및 도 8에서의 프로세스(800)를 구현하는데 이용될 수 있다. 본 예시적인 예에서, 데이터 처리 시스템(1000)은 프로세서 유닛(1004), 메모리(1006), 영구 저장소(1008), 통신 유닛(1010), 입력/출력 유닛(1012), 및 디스플레이(1014) 사이에서 통신을 제공하는 통신 프레임워크(1002)를 포함한다. 본 예에 있어서, 통신 프레임워크(1002)는 버스 시스템(bus system)의 형태를 취할 수 있다.
프로세서 유닛(1004)은 메모리(1006)에 로딩될 수 있는 소프트웨어에 대한 명령을 실행하도록 기능한다. 프로세서 유닛(1004)은 특정 구현에 따라 다수의 프로세서, 다중 프로세서 코어, 또는 몇몇 다른 형태의 프로세서일 수 있다. 실시예에 있어서, 프로세서 유닛(1004)은 하나 이상의 통상적인 범용 중앙 처리 장치(CPU)를 포함한다. 프로세서 유닛(1004)은 디지털 신호 프로세서(DSP)(1028)와 서로 명령을 송신할 수 있다. DSP(1028)는 결국 양자 하드웨어(1030)와 아날로그 또는 하이브리드 신호를 서로 송신할 수 있다.
양자 하드웨어(1030)는 큐비트(양자 비트)를 기초로 하는 양자 회로를 구비할 수 있다. 큐비트는 전통적으로 1 또는 0 상태를 시뮬레이션하거나, 1 및 0 상태의 중첩을 시뮬레이션하는데 이용된다. 그러나, 측정 시, 큐비트는 블로흐 구면(Bloch sphere) 표현을 이용할 때 측정 직전에 큐비트의 양자 상태에 따라 무한한 수의 상태에 있을 수 있다. 양자 회로는 이용 중에 있는 특정 양자 컴퓨터에 대해 범용 세트(universal set)를 형성하는 임의의 단일 및 2개의 큐비트 게이트를 구비할 수 있다.
메모리(1006) 및 영구 저장소(1008)는 저장 장치(1016)의 예이다. 저장 장치는, 예컨대, 제한 없이, 데이터, 기능적 형태의 프로그램 코드, 또는 다른 적절한 정보 중 적어도 하나와 같은 정보를 일시적으로 또는 영구적으로, 또는 일시적으로 및 영구적으로 저장할 수 있는 소정 개수의 하드웨어이다. 저장 장치(1016)는 또한 이들 예시적인 예에서 컴퓨터 판독 가능 저장 장치로서 언급될 수 있다. 이들 예에서 메모리(1006)는 예컨대 랜덤 액세스 메모리 또는 소정의 다른 적합한 휘발성 또는 비휘발성 저장 장치일 수 있다. 영구 저장소(1008)는 특정 구현에 따라 다양한 형태를 취할 수 있다.
예컨대, 영구 저장소(1008)는 하나 이상의 구성요소 또는 장치를 포함할 수 있다. 예컨대, 영구 저장소(1008)는 하드 드라이브, 플래시 메모리, 재기록가능 광 디스크, 재기록가능 자기 테이프, 또는 이들의 몇몇 조합일 수 있다. 영구 저장소(1008)에 의해 이용되는 매체는 또한 제거가능할 수 있다. 예컨대, 제거가능 하드 드라이브가 영구 저장소(1008)로 이용될 수 있다. 이들 예시적인 예에 있어서, 통신 유닛(1010)은 다른 데이터 처리 시스템 또는 장치와의 통신을 제공한다. 이들 예시적인 예에 있어서, 통신 유닛(1010)은 네트워크 인터페이스 카드이다.
입력/출력 유닛(1012)은 데이터 처리 시스템(1000)에 연결될 수 있는 다른 장치와의 데이터의 입력 및 출력을 허용한다. 예컨대, 입력/출력 유닛(1012)은 키보드, 마우스, 또는 몇몇 다른 적절한 입력 장치 중 적어도 하나를 통해 이용자 입력을 위한 연결을 제공할 수 있다. 더욱이, 입력/출력 유닛(1012)은 프린터로 출력을 보낼 수 있다. 디스플레이(1014)는 이용자에게 정보를 표시하기 위한 메카니즘을 제공한다.
운영 시스템, 애플리케이션, 또는 프로그램 중 적어도 하나에 대한 명령은 통신 프레임워크(1002)를 통해 프로세서 유닛(1004)과 통신하는 저장 장치(1016)에 위치될 수 있다. 여러 실시예의 프로세스는, 메모리(1006)와 같은, 메모리에 위치될 수 있는 컴퓨터 구현 명령을 이용하여 프로세서 유닛(1004)에 의해 수행될 수 있다.
이들 명령은 프로세서 유닛(1004)의 프로세서에 의해 판독되고 실행될 수 있는 프로그램 코드, 컴퓨터 이용가능 프로그램 코드, 또는 컴퓨터 판독가능 프로그램 코드로 언급된다. 다른 실시예의 프로그램 코드는 메모리(1006) 또는 영구 저장 장치(1008)와 같은 다른 물리적 또는 컴퓨터 판독가능 저장 매체 상에서 구현될 수 있다.
프로그램 코드(1018)는 선택적으로 제거할 수 있고 프로세서 유닛(1004)에 의한 실행을 위해 데이터 처리 시스템(1000)에 로드되거나 전송될 수 있는 컴퓨터 판독 가능 매체(1020)의 기능적 형태로 위치한다. 프로그램 코드(1018) 및 컴퓨터 판독가능 매체(1020)는 이들 예시적인 예에서 컴퓨터 프로그램 제품(1022)을 형성한다. 컴퓨터 프로그램 제품(1022)은 증강 현실(AR; augmented reality) 디스플레이를 위한 기준 프레임을 정렬하기 위한 것일 수 있다. 일 예에 있어서, 컴퓨터 판독가능 매체(1020)는 컴퓨터 판독가능 저장 매체(1024) 또는 컴퓨터 판독가능 신호 매체(1026)일 수 있다.
이들 예시적인 예에 있어서, 컴퓨터 판독가능 저장 매체(1024)는 프로그램 코드(1018)를 전파하거나 전송하는 매체라기보다는 프로그램 코드(1018)를 저장하는데 이용되는 물리적 또는 유형의 저장 장치이다. 대안적으로, 프로그램 코드(1018)는 컴퓨터 판독가능 신호 매체(1026)를 이용하여 데이터 처리 시스템(1000)으로 전송될 수 있다.
컴퓨터 판독가능 신호 매체(1026)는, 예컨대 프로그램 코드(1018)를 포함하는 전파된 데이터 신호일 수 있다. 예컨대, 컴퓨터 판독가능 신호 매체(1026)는 전자기 신호, 광 신호, 또는 소정의 다른 적절한 형태의 신호 중 적어도 하나일 수 있다. 이들 신호는 무선 통신 링크, 광섬유 케이블, 동축 케이블, 유선, 또는 소정의 다른 적절한 형태의 통신 링크와 같은 통신 링크 중 적어도 하나를 거쳐 전송될 수 있다.
데이터 처리 시스템(1000)에 대해 예시된 여러 구성요소는 여러 실시예가 구현될 수 있는 방식에 구조적 제한을 제공하도록 의도되는 것은 아니다. 여러 예시적인 실시예는 데이터 처리 시스템(1000)에 대해 예시된 것에 부가하거나 대신하여 구성요소를 포함하는 데이터 처리 시스템에서 구현될 수 있다. 도 10에 도시된 다른 구성요소는 도시된 예시적인 예로부터 변경될 수 있다. 여러 실시예는 프로그램 코드(1018)를 실행할 수 있는 소정의 하드웨어 장치 또는 시스템을 이용하여 구현될 수 있다.
더욱이, 본 발명은 이하의 조항에 따른 예를 포함한다:
조항 1. 양자 계산의 비용 함수를 최소화하는 컴퓨터 구현 방법(800)으로, 방법이:
연관된 비용 함수(238)를 갖는 해밀토니안(204)을 포함하는 양자 문제 인스턴스의 초기 상태(202)의 입력을 수신하는 단계(802);
다수의 파울리 문자열(208)로 해밀토니안을 변환시키는 단계(804);
파울리 문자열로부터 연산자 풀(206)을 형성하는 단계(806);
초기 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 연산자 풀의 파울리 문자열을 순위매김하는 단계(808); 및
VQE(variational quantum eigensolver) 알고리즘이 파라미터화 양자 회로에 의해 발생된 근사 바닥 상태 파동 함수로 수렴될 때까지 회로 깊이(234)를 최소화하는 방식으로 연산자 풀로부터 파라미터화 양자 회로(224)로 파울리 문자열을 반복적으로 부가하는 단계(810);를 수행하기 위한 다수의 프로세서를 이용하는 것을 특징으로 한다.
조항 2. 조항 1의 방법으로, 연산자 풀의 파울리 문자열이 비-식별 연산자 경로 길이(218)에 따라 더욱 순위매김되는 것을 특징으로 한다.
조항 3. 조항 2의 방법으로, 동일한 비-식별 연산자 경로 길이를 갖는 파울리 문자열이 동일한 등가 클래스 내에서 그룹화되는 것을 특징으로 한다.
조항 4. 조항 3의 방법으로, 동일한 등가 클래스 내의 파울리 문자열이 최대 외부 식별 경로 길이(220)에 따라 순위매김되는 것을 특징으로 한다.
조항 5. 조항 1의 방법으로, 연산자 풀로부터 파라미터화 양자 회로에 파울리 문자열을 반복적으로 부가하는 단계가:
순위에 따라 연산자 풀로부터 파라미터화 양자 회로로 파울리 문자열을 부가하는 단계(810);
VQE 알고리즘이 수렴에 도달했는지를 결정하기 위해(814) 파라미터화 양자 회로로 VQE 알고리즘을 실행하는 단계(812);
VQE 알고리즘이 수렴에 도달하지 않았다는 결정에 응답하여, 연산자 풀로부터 파라미터화 양자 회로로 다른 파울리 문자열을 부가하는 단계(816); 및
VQE 알고리즘이 수렴에 도달했거나 연산자 풀에 남아있는 파울리 문자열이 없다는 결정에 응답하여 반복을 중지하는 단계;를 포함하는 것을 특징으로 한다.
조항 6. 조항 5의 방법으로, 연산자 풀로부터 파라미터화 양자 회로에 부가되는 새로운 파울리 문자열이;
새로운 파울리 문자열의 식별 연산자(214)와 마지막으로 부가된 파울리 문자열의 비-식별 연산자(216)의 중첩을 최대화하고;
새로운 파울리 문자열의 비-식별 연산자와 마지막으로 부가된 파울리 문자열의 식별 연산자의 중첩을 최대화;하도록 선택되는 것을 특징으로 한다.
조항 7. 조항 5의 방법으로, VQE를 실행하는 단계가;
파라미터화 양자 회로에 의해, 시도 파동 함수(236)를 발생시키는 단계(902);
시도 파동 함수를 기초로 비용 함수에 대한 기대값(240)을 계산하는 단계(904); 및
고전적 최적화기에 의해, 파라미터화 양자 회로의 다수의 파라미터를 최적화하는 단계(906)로서, 최적 파라미터가 비용 함수의 최소값을 발생시키는 값에 대응하는, 단계(906);를 포함하는 것을 특징으로 한다.
조항 8. 조항 1의 방법으로, 연산자 풀로부터의 파울리 문자열이 파라미터화 양자 회로에 부가된 후 연산자 풀로부터 폐기되고 향후 반복에서는 다시 이용되지 않는 것을 특징으로 한다.
조항 9. 조항 1의 방법으로, 파라미터화 양자 회로의 양자 게이트(232)가 파울리 문자열의 비-식별 연산자에 대응하는 것을 특징으로 한다.
조항 10. 양자 계산의 비용 함수를 최소화하기 위한 시스템(200)으로, 시스템이:
프로그램 명령을 저장하도록 구성된 저장 장치(1016); 및
저장 장치에 동작가능하게 연결되고 시스템이:
연관된 비용 함수(238)를 갖는 해밀토니언(204)을 포함하는 양자 문제 인스턴스의 초기 상태(202)의 입력을 수신하고(802);
다수의 파울리 스트링(208)으로 해밀토니안을 변환시키고(804);
파울리 문자열로부터 연산자 풀(206)을 형성하고(806);
초기 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 연산자 풀의 파울리 문자열을 순위매김하고(808);
VQE(variational quantum eigensolver) 알고리즘이 파라미터화 양자 회로에 의해 발생된 근사 바닥 상태 파동 함수로 수렴될 때까지 회로 깊이(234)를 최소화하는 방식으로 연산자 풀로부터 파라미터화 양자 회로(224)로 파울리 문자열을 반복적으로 부가하도록(810); 하기 위한 프로그램 명령을 실행하도록 구성된 하나 이상의 프로세서(1004);를 구비하여 구성되는 것을 특징으로 한다.
조항 11. 조항 10의 시스템으로, 연산자 풀의 파울리 문자열이 비-식별 연산자 경로 길이(218)에 따라 더욱 순위매김되는 것을 특징으로 한다.
조항 12. 조항 11의 시스템으로, 동일한 비-식별 연산자 경로 길이를 갖는 파울리 문자열이 동일한 등가 클래스 내에서 그룹화되는 것을 특징으로 한다.
조항 13. 조항 12의 시스템으로, 동일한 등가 클래스 내의 파울리 문자열이 최대 외부 식별 경로 길이(220)에 따라 순위매김되는 것을 특징으로 한다.
조항 14. 조항 10의 시스템으로, 연산자 풀로부터 파라미터화 양자 회로에 파울리 문자열을 반복적으로 부가하는 것이:
순위에 따라 연산자 풀로부터 파라미터화 양자 회로로 파울리 문자열을 부가하는 것(810);
VQE 알고리즘이 수렴에 도달했는지를 결정하기 위해 파라미터화 양자 회로로 VQE 알고리즘을 실행하는 것(812);
VQE 알고리즘이 수렴에 도달하지 않았다는 결정에 응답하여, 연산자 풀로부터 파라미터화 양자 회로로 다른 파울리 문자열을 부가하는 것(816); 및
VQE 알고리즘이 수렴에 도달했거나 연산자 풀에 남아있는 파울리 문자열이 없다는 결정에 응답하여 반복을 중지하는 것;을 포함하는 것을 특징으로 한다.
조항 15. 조항 14의 시스템으로, 연산자 풀로부터 파라미터화 양자 회로에 부가되는 새로운 파울리 문자열이;
새로운 파울리 문자열의 식별 연산자(214)와 마지막으로 부가된 파울리 문자열의 비-식별 연산자(216)의 중첩을 최대화하고;
새로운 파울리 문자열의 비-식별 연산자와 마지막으로 부가된 파울리 문자열의 식별 연산자의 중첩을 최대화;하도록 선택되는 것을 특징으로 한다.
조항 16. 조항 14의 시스템으로, VQE를 실행하는 것이:
파라미터화 양자 회로에 의해, 시도 파동 함수(236)를 발생시키는 것(902);
시도 파동 함수를 기초로 비용 함수에 대한 기대값(240)을 계산하는 것(904); 및
고전적 최적화기에 의해, 파라미터화 양자 회로의 다수의 파라미터를 최적화하는 것(906)으로서, 최적 파라미터가 비용 함수의 최소값을 발생시키는 값에 대응하는 것;을 포함하는 것을 특징으로 한다.
조항 17. 조항 10의 시스템으로, 연산자 풀로부터의 파울리 문자열이 파라미터화 양자 회로에 부가된 후 연산자 풀로부터 폐기되고 향후 반복에서는 다시 이용되지 않는 것을 특징으로 한다.
조항 18. 조항 10의 시스템으로, 파라미터화 양자 회로의 양자 게이트(232)가 파울리 문자열의 비-식별 연산자에 대응하는 것을 특징으로 하는 한다.
조항 19. 양자 계산의 비용 함수를 최소화하기 위한 컴퓨터 프로그램 제품(1022)으로, 컴퓨터 프로그램 제품이:
연관된 비용 함수(238)를 갖는 해밀토니안(204)을 포함하는 양자 문제 인스턴스의 초기 상태(202)의 입력을 수신하는 단계(802);
다수의 파울리 문자열(208)로 해밀토니안을 변환시키는 단계(804);
파울리 문자열로부터 연산자 풀(206)을 형성하는 단계(806);
초기 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 연산자 풀의 파울리 문자열을 순위매김하는 단계(808); 및
VQE(variational quantum eigensolver) 알고리즘이 파라미터화 양자 회로에 의해 발생된 근사 바닥 상태 파동 함수로 수렴될 때까지 회로 깊이(234)를 최소화하는 방식으로 연산자 풀로부터 파라미터화 양자 회로(224)로 파울리 문자열을 반복적으로 부가하는 단계(810);를 수행하기 위해 내장된 프로그램 명령을 갖춘 컴퓨터 판독가능 저장 매체(1024)를 구비하여 구성되는 것을 특징으로 한다.
조항 20. 조항 19의 컴퓨터 프로그램 제품으로, 연산자 풀의 파울리 문자열이 비-식별 연산자 경로 길이(218)에 따라 더욱 순위매김되는 것을 특징으로 한다.
조항 21. 조항 20의 컴퓨터 프로그램 제품으로, 동일한 비-식별 연산자 경로 길이를 갖는 파울리 문자열이 동일한 등가 클래스 내에서 그룹화되는 것을 특징으로 한다.
조항 22. 조항 21의 컴퓨터 프로그램 제품으로, 동일한 등가 클래스 내의 파울리 문자열이 최대 외부 식별 경로 길이(220)에 따라 순위매김되는 것을 특징으로 한다.
조항 23. 조항 19의 컴퓨터 프로그램 제품으로, 연산자 풀로부터 파라미터화 양자 회로에 파울리 문자열을 반복적으로 부가하는 것이:
순위에 따라 연산자 풀로부터 파라미터화 양자 회로로 파울리 문자열을 부가하는 것(810);
VQE 알고리즘이 수렴에 도달했는지를 결정하기 위해 파라미터화 양자 회로로 VQE 알고리즘을 실행하는 것(812);
VQE 알고리즘이 수렴에 도달하지 않았다는 결정에 응답하여, 연산자 풀로부터 파라미터화 양자 회로로 다른 파울리 문자열을 부가하는 것(816); 및
VQE 알고리즘이 수렴에 도달했거나 연산자 풀에 남아있는 파울리 문자열이 없다는 결정에 응답하여 반복을 중지하는 것;을 포함하는 것을 특징으로 한다.
조항 24. 조항 23의 컴퓨터 프로그램 제품으로, 연산자 풀로부터 파라미터화 양자 회로에 부가되는 새로운 파울리 문자열이;
새로운 파울리 문자열의 식별 연산자(214)와 마지막으로 부가된 파울리 문자열의 비-식별 연산자(216)의 중첩을 최대화하고;
새로운 파울리 문자열의 비-식별 연산자와 마지막으로 부가된 파울리 문자열의 식별 연산자의 중첩을 최대화;하도록 선택되는 것을 특징으로 한다.
조항 25. 조항 23의 컴퓨터 프로그램 제품으로, VQE를 실행하는 것이:
파라미터화 양자 회로에 의해, 시도 파동 함수(236)를 발생시키는 것(902);
시도 파동 함수를 기초로 비용 함수에 대한 기대값(240)을 계산하는 것(904); 및
고전적 최적화기에 의해, 파라미터화 양자 회로의 다수의 파라미터를 최적화하는 것(906)으로서, 최적 파라미터가 비용 함수의 최소값을 발생시키는 값에 대응하는 것;을 포함하는 것을 특징으로 한다.
조항 26. 조항 19의 컴퓨터 프로그램 제품으로, 연산자 풀로부터의 파울리 문자열이 파라미터화 양자 회로에 부가된 후 연산자 풀로부터 폐기되고 향후 반복에서는 다시 이용되지 않는 것을 특징으로 한다.
조항 27. 조항 19의 컴퓨터 프로그램 제품으로, 파라미터화 양자 회로의 양자 게이트(232)가 파울리 문자열의 비-식별 연산자에 대응하는 것을 특징으로 한다.
여기서 이용되는 바와 같이, 제2 구성요소에 "연결되는" 제1 구성요소는 제1 구성요소가 제2 구성요소에 직접적으로 또는 간접적으로 연결될 수 있음을 의미한다. 즉, 부가적인 구성요소가 제1 구성요소와 제2 구성요소 사이에 존재할 수 있다. 제1 구성요소는 하나 이상의 부가적 구성요소가 2개의 구성요소 사이에 존재할 때 제2 구성요소에 간접적으로 연결되어 있는 것으로 간주된다. 제1 구성요소가 제2 구성요소에 직접적으로 연결될 때, 2개의 구성요소 사이에는 부가적 구성요소는 없다.
여기서 이용되는 바와 같이, 문구 "다수"는 하나 이상을 의미한다. 아이템의 목록과 함께 이용될 때, 문구 "적어도 하나"는 나열된 아이템 중 하나 이상의 여러 조합이 이용될 수 있고, 목록의 각 아이템 중 하나만을 필요로 할 수 있음을 의미한다. 즉, "적어도 하나"는 목록에서 이용될 수 있는 아이템 및 아이템의 수의 조정의 조합을 의미하지만, 목록의 모든 아이템이 요구되는 것은 아님을 의미한다. 아이템은 특정 개체, 사물, 또는 범주일 수 있다.
예컨대, 제한 없이, "아이템 A, 아이템 B, 또는 아이템 C 중 적어도 하나"는 아이템 A, 아이템 A 및 아이템 B, 또는 아이템 C를 포함할 수 있다. 본 예는 또한 아이템 A, 아이템 B, 아이템 C 또는 아이템 B와 아이템 C를 포함할 수 있다. 물론, 이들 아이템의 소정의 조합이 존재할 수 있다. 몇몇 예시적인 예에 있어서, "중 적어도 하나"는, 예컨대, 제한 없이, 아이템 A 중 2개; 아이템 B 중 하나; 아이템 C의 10개; 아이템 B 중 4개 및 아이템 C 중 7개; 또는 다른 적절한 조합일 수 있다.
여러 도시된 실시예의 플로우차트 및 블록도는 예시적인 실시예의 장치 및 방법의 몇몇 가능한 구현의 아키텍처, 기능, 및 동작을 예시한다. 이와 관련하여, 플로우차트 또는 블록도의 각 블록은 모듈, 세그먼트, 기능, 및/또는 동작 또는 단계의 일부를 나타낼 수 있다. 예컨대, 블록 중 하나 이상은 프로그램 코드로서 구현될 수 있다.
예시적인 실시예의 몇몇 대안적인 구현에 있어서, 블록에서 주지된 기능 또는 기능들은 도면에서 주지된 순서를ㅇ 벗어나서 야기될 수 있다. 예컨대, 몇몇 경우에 있어서, 관련된 기능에 따라 연속적으로 도시된 2개의 블록은 실질적으로 동시에 수행되거나, 블록은 때때로 역순으로 수행될 수 있다. 또한, 다른 블록이 플로우차트나 블록도에서 예시된 블록에 부가하여 부가될 수 있다.
여러 예시적 실시예의 설명은 예시 및 설명의 목적을 위해 제공되었고, 개시된 형태의 실시예로 망라하거나 제한되도록 의도되지는 않는다. 많은 수정 및 변형이 당업자에게는 명백할 것이다. 더욱이, 여러 예시적인 실시예는 다른 바람직한 실시예와 비교하여 여러 특징을 제공할 수 있다. 선택된 실시예 또는 실시예들은 실시예의 원리, 실제 적용을 가장 잘 설명하고, 다른 당업자가 고려된 특정 이용에 적합한 다양한 수정을 갖는 다양한 실시예에 대한 개시 내용을 이해할 수 있도록 하기 위해 선택 및 설명된다.
Claims (15)
- 양자 계산의 비용 함수를 최소화하는 컴퓨터 구현 방법(800)으로, 방법이:
연관된 비용 함수(238)를 갖는 해밀토니안(204)을 포함하는 양자 문제 인스턴스의 초기 상태(202)의 입력을 수신하는 단계(802);
다수의 파울리 문자열(208)로 해밀토니안을 변환시키는 단계(804);
파울리 문자열로부터 연산자 풀(206)을 형성하는 단계(806);
초기 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 연산자 풀의 파울리 문자열을 순위매김하는 단계(808); 및
VQE(variational quantum eigensolver) 알고리즘이 파라미터화 양자 회로에 의해 발생된 근사 바닥 상태 파동 함수로 수렴될 때까지 회로 깊이(234)를 최소화하는 방식으로 연산자 풀로부터 파라미터화 양자 회로(224)로 파울리 문자열을 반복적으로 부가하는 단계(810);를 수행하기 위한 다수의 프로세서를 이용하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항에 있어서,
연산자 풀의 파울리 문자열이 비-식별 연산자 경로 길이(218)에 따라 더욱 순위매김되는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항 또는 제2항에 있어서,
동일한 비-식별 연산자 경로 길이를 갖는 파울리 문자열이 동일한 등가 클래스 내에서 그룹화되는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항 또는 제2항에 있어서,
동일한 등가 클래스 내의 파울리 문자열이 최대 외부 식별 경로 길이(220)에 따라 순위매김되는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항에 있어서,
연산자 풀로부터 파라미터화 양자 회로에 파울리 문자열을 반복적으로 부가하는 단계가:
순위에 따라 연산자 풀로부터 파라미터화 양자 회로로 파울리 문자열을 부가하는 단계(810);
VQE 알고리즘이 수렴에 도달했는지를 결정하기 위해(814) 파라미터화 양자 회로로 VQE 알고리즘을 실행하는 단계(812);
VQE 알고리즘이 수렴에 도달하지 않았다는 결정에 응답하여, 연산자 풀로부터 파라미터화 양자 회로로 다른 파울리 문자열을 부가하는 단계(816); 및
VQE 알고리즘이 수렴에 도달했거나 연산자 풀에 남아있는 파울리 문자열이 없다는 결정에 응답하여 반복을 중지하는 단계;를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항 또는 제5항에 있어서,
연산자 풀로부터 파라미터화 양자 회로에 부가되는 새로운 파울리 문자열이;
새로운 파울리 문자열의 식별 연산자(214)와 마지막으로 부가된 파울리 문자열의 비-식별 연산자(216)의 중첩을 최대화하고;
새로운 파울리 문자열의 비-식별 연산자와 마지막으로 부가된 파울리 문자열의 식별 연산자의 중첩을 최대화;하도록 선택되는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항 또는 제5항에 있어서,
VQE를 실행하는 단계가:
파라미터화 양자 회로에 의해, 시도 파동 함수(236)를 발생시키는 단계(902);
시도 파동 함수를 기초로 비용 함수에 대한 기대값(240)을 계산하는 단계(904); 및
고전적 최적화기에 의해, 파라미터화 양자 회로의 다수의 파라미터를 최적화하는 단계(906)로서, 최적 파라미터가 비용 함수의 최소값을 발생시키는 값에 대응하는, 단계(906);를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항에 있어서,
연산자 풀로부터의 파울리 문자열이 파라미터화 양자 회로에 부가된 후 연산자 풀로부터 폐기되고 향후 반복에서는 다시 이용되지 않는 것을 특징으로 하는 컴퓨터 구현 방법. - 제1항에 있어서,
파라미터화 양자 회로의 양자 게이트(232)가 파울리 문자열의 비-식별 연산자에 대응하는 것을 특징으로 하는 컴퓨터 구현 방법. - 양자 계산의 비용 함수를 최소화하기 위한 시스템(200)으로, 시스템이:
프로그램 명령을 저장하도록 구성된 저장 장치(1016); 및
저장 장치에 동작가능하게 연결되고 시스템이:
연관된 비용 함수(238)를 갖는 해밀토니언(204)을 포함하는 양자 문제 인스턴스의 초기 상태(202)의 입력을 수신하고(802);
다수의 파울리 스트링(208)으로 해밀토니안을 변환시키고(804);
파울리 문자열로부터 연산자 풀(206)을 형성하고(806);
초기 상태와 관련하여 비용 함수의 값을 얼마나 낮추는가에 따라 연산자 풀의 파울리 문자열을 순위매김하고(808);
VQE(variational quantum eigensolver) 알고리즘이 파라미터화 양자 회로에 의해 발생된 근사 바닥 상태 파동 함수로 수렴될 때까지 회로 깊이(234)를 최소화하는 방식으로 연산자 풀로부터 파라미터화 양자 회로(224)로 파울리 문자열을 반복적으로 부가하도록(810); 하기 위한 프로그램 명령을 실행하도록 구성된 하나 이상의 프로세서(1004);를 구비하여 구성되는 것을 특징으로 하는 시스템. - 제10항에 있어서,
연산자 풀의 파울리 문자열이 비-식별 연산자 경로 길이(218)에 따라 더욱 순위매김되는 것을 특징으로 하는 시스템. - 제10항 또는 제11항에 있어서,
동일한 비-식별 연산자 경로 길이를 갖는 파울리 문자열이 동일한 등가 클래스 내에서 그룹화되는 것을 특징으로 하는 시스템. - 제10항 또는 제11항에 있어서,
동일한 등가 클래스 내의 파울리 문자열이 최대 외부 식별 경로 길이(220)에 따라 순위매김되는 것을 특징으로 하는 시스템. - 제10항에 있어서,
연산자 풀로부터 파라미터화 양자 회로에 파울리 문자열을 반복적으로 부가하는 것이:
순위에 따라 연산자 풀로부터 파라미터화 양자 회로로 파울리 문자열을 부가하는 것(810);
VQE 알고리즘이 수렴에 도달했는지를 결정하기 위해 파라미터화 양자 회로로 VQE 알고리즘을 실행하는 것(812);
VQE 알고리즘이 수렴에 도달하지 않았다는 결정에 응답하여, 연산자 풀로부터 파라미터화 양자 회로로 다른 파울리 문자열을 부가하는 것(816); 및
VQE 알고리즘이 수렴에 도달했거나 연산자 풀에 남아있는 파울리 문자열이 없다는 결정에 응답하여 반복을 중지하는 것;을 포함하는 것을 특징으로 하는 시스템. - 제10항 또는 제14항에 있어서,
연산자 풀로부터 파라미터화 양자 회로에 부가되는 새로운 파울리 문자열이;
새로운 파울리 문자열의 식별 연산자(214)와 마지막으로 부가된 파울리 문자열의 비-식별 연산자(216)의 중첩을 최대화하고;
새로운 파울리 문자열의 비-식별 연산자와 마지막으로 부가된 파울리 문자열의 식별 연산자의 중첩을 최대화;하도록 선택되는 것을 특징으로 하는 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/653,949 | 2022-03-08 | ||
US17/653,949 US20230289501A1 (en) | 2022-03-08 | 2022-03-08 | Reducing Resources in Quantum Circuits |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230132369A true KR20230132369A (ko) | 2023-09-15 |
Family
ID=85415342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230017114A KR20230132369A (ko) | 2022-03-08 | 2023-02-09 | 양자 회로에서의 리소스 감소 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20230289501A1 (ko) |
EP (1) | EP4242936A1 (ko) |
KR (1) | KR20230132369A (ko) |
CN (1) | CN116739096A (ko) |
AU (1) | AU2023200360A1 (ko) |
CA (1) | CA3187339A1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118014093A (zh) * | 2024-04-08 | 2024-05-10 | 国开启科量子技术(安徽)有限公司 | 用于确定量子本征值的方法、装置、设备及介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016040708A1 (en) * | 2014-09-11 | 2016-03-17 | Microsoft Technology Licensing, Llc | Efficient synthesis of probabilistic quantum circuits with fallback |
CN110428055A (zh) * | 2018-04-27 | 2019-11-08 | 阿里巴巴集团控股有限公司 | 量子计算方法和设备 |
CN109800883B (zh) * | 2019-01-25 | 2020-12-04 | 合肥本源量子计算科技有限责任公司 | 量子机器学习框架构建方法、装置及量子计算机 |
CN111291892B (zh) * | 2020-01-17 | 2023-01-17 | 深圳大学 | 一种量子并行搜索方法 |
US11144689B1 (en) * | 2020-04-14 | 2021-10-12 | Cambridge Quantum Computing Limited | System and method for generating a quantum circuit |
US20230237361A1 (en) * | 2020-04-14 | 2023-07-27 | Cambridge Quantum Computing Limited | System and method for generating quantum circuits |
US11769071B2 (en) * | 2020-11-30 | 2023-09-26 | IonQ, Inc. | System and method for error correction in quantum computing |
US11960859B2 (en) * | 2021-11-12 | 2024-04-16 | The Boeing Company | Automated process for discovering optimal programs and circuits in new computing platforms |
-
2022
- 2022-03-08 US US17/653,949 patent/US20230289501A1/en active Pending
-
2023
- 2023-01-23 CA CA3187339A patent/CA3187339A1/en active Pending
- 2023-01-24 AU AU2023200360A patent/AU2023200360A1/en active Pending
- 2023-02-09 KR KR1020230017114A patent/KR20230132369A/ko unknown
- 2023-03-02 EP EP23159587.7A patent/EP4242936A1/en active Pending
- 2023-03-06 CN CN202310232547.3A patent/CN116739096A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2023200360A1 (en) | 2023-09-28 |
EP4242936A1 (en) | 2023-09-13 |
CN116739096A (zh) | 2023-09-12 |
CA3187339A1 (en) | 2023-09-08 |
US20230289501A1 (en) | 2023-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bravyi et al. | The future of quantum computing with superconducting qubits | |
JP7186797B2 (ja) | 量子計算のための方法及びシステム | |
CN111373420B (zh) | 用于量子计算的方法和系统 | |
Krauss et al. | Solving the network shortest path problem on a quantum annealer | |
Hattori et al. | Quantum circuit optimization by changing the gate order for 2D nearest neighbor architectures | |
US20220121903A1 (en) | Method of performing splitting in neural network model by means of multi-core processor, and related product | |
CN109313720A (zh) | 具有稀疏访问的外部存储器的增强神经网络 | |
CN114072817A (zh) | 量子电路的优化方法和系统 | |
KR20230132369A (ko) | 양자 회로에서의 리소스 감소 | |
JP2024508076A (ja) | 量子回路シミュレーション方法、装置、コンピュータ機器及びプログラム | |
JP7381723B2 (ja) | 量子操作実行方法及び装置、量子操作の制御波形の生成方法及び装置、量子操作チップ、並びにコンピュータ装置及びプログラム | |
Mulderij et al. | A polynomial size model with implicit swap gate counting for exact qubit reordering | |
Li et al. | Quantum circuit compilation for nearest-neighbor architecture based on reinforcement learning | |
US11960859B2 (en) | Automated process for discovering optimal programs and circuits in new computing platforms | |
Faj et al. | Quantum Computer Simulations at Warp Speed: Assessing the Impact of GPU Acceleration: A Case Study with IBM Qiskit Aer, Nvidia Thrust & cuQuantum | |
Troy | Sparks of quantum advantage and rapid retraining in machine learning | |
Faj et al. | Quantum Computer Simulations at Warp Speed: Assessing the Impact of GPU Acceleration | |
WO2004068342A1 (ja) | ソフトウェア開発前処理方法、ソフトウェア制御方法、ソフトウェア開発方法並びにソフトウェア開発装置 | |
Ahmadzadeh et al. | Fast and scalable quantum computing simulation on multi-core and many-core platforms | |
Azad et al. | Circuit centric quantum architecture design | |
Smith et al. | Summary: Chicago Quantum Exchange (CQE) pulse-level quantum control workshop | |
Mao et al. | Quantum Circuit Fidelity Improvement with Long Short-Term Memory Networks | |
Bieberich et al. | Bridging HPC and Quantum Systems using Scientific Workflows | |
Dasgupta et al. | Alpha Elimination: Using Deep Reinforcement Learning to Reduce Fill-In During Sparse Matrix Decomposition | |
US20230186131A1 (en) | Simulator for quantum computing systems |