-
양자 프로그래밍을 위한 셋팅과 튜토리얼 - Colab지식/양자정보학 2025. 4. 7. 23:11
양자 프로그래밍을 할 수 있는 다양한 방법이 있는데, 구글의 Cirq와 IBM의 Qiskit이라는 파이썬 기반의 오픈소스 양자 컴퓨팅 프레임워크를 대표적으로 활용하는 것 같다. 나는 이번에 Google의 Cirq를 사용하여 Colab에서 양자 프로그래밍을 해보려고 한다.
Google Quantum AI
Google Quantum AI is advancing the state of the art in quantum computing and developing the hardware and software tools to operate beyond classical capabilities. Discover our research and resources to help you with your quantum experiments.
quantumai.google
IBM Quantum
Program real quantum systems with the leading quantum cloud application.
quantum.ibm.com
Colab에서 그냥 라이브러리를 설치하고 실행하면 오류가 난다. 아마 numpy 버전이 달라서 생기는 오류 같은데, 아래처럼 numpy를 재설치하면 해결된다. 이후 출력창에서 'y'를 누르고 다음 세션에서 진행하면 정상 동작한다.
!pip install --quiet cirq !pip uninstall numpy !pip install numpy==1.24.3 !pip install scipy
두 개의 큐비트를 만들고 첫 큐비트에 X 게이트를 적용하고 두번째 큐비트를 대상으로 CNOT을 적용한 후 측정하는 코드이다.
import cirq # 큐비트 생성 : 기본 |0> q0, q1 = cirq.NamedQubit('q0'), cirq.NamedQubit('q1') # 회로 생성 circuit = cirq.Circuit( cirq.X(q0), cirq.CNOT(q0, q1), # 제어: q0, 대상: q1 cirq.measure(q1, key='result') ) simulator = cirq.Simulator() result = simulator.run(circuit, repetitions=25) # 결과 출력 print("생성된 회로:") print(circuit) print("\n측정 결과:") print(result.histogram(key='result'))
결과는 예상했던 것처럼 나오고 repetitions의 경우 실행 횟수를 나타내기 때문에 결과를 해석하면 1이 25번 나온다는 의미이다.
생성된 회로: q0: ───X───@───────────────── │ q1: ───────X───M('result')─── 측정 결과: Counter({1: 25})
'지식 > 양자정보학' 카테고리의 다른 글
양자 오류 수정(QEC): Stabilizer (0) 2025.04.08 양자 오류 검출 #2 (0) 2025.04.07 양자 오류 정정 (QEC) 기초 개념 (0) 2025.04.04 양자 상태와 양자 회로 기초 (0) 2025.04.02 양자 컴퓨터의 종류 (0) 2025.04.02