2개의 큐비트를 사용하는 Bell state 문제와는 달리 큐비트에 설정된 초기 값을 확인해 보도록 하자. 중첩도 시키지 말고 임의로 하나의 큐비트를 대상으로 지정하여 막바로 측정을 해보자.
Qiskit 코드는 2개의 큐비트를 다루는 Bell state 코드에서 골격은 유지한 채 회로 규모를 큐비트 하나로 축소하도록 한다.
!pip install qiskit # 2025년 12월 Xmas 현재 버전이 2.x 이다.
# 과거 버전에 집착할 필요가 없다.
import qiskit # qiskit 라이브러리를 부른다.
qiskit.version.get_version_info() # 라이브러리 버전을 확인한다.

!pip install pylatexenc # "양자 회로를 고해상도로 그리기 위한 통역사" 역할
# LATEX로 표현된 양자 게이트를 파이선 환경의 그래픽으로 변환
from qiskit import QuantumCircuit
#StatevectorSampler는 컴퓨터 내 시뮬레이터로서 결과를 측정하는 가장 표준적인 방법임
from qiskit.primitives import StatevectorSampler
qc = QuantumCircuit(1,1) # Bell state 회로-> 큐비트 하나로 양자 회로 구성
# 큐비트 1개, 측정 후 저장용 일반 메모리 1개
qc.measure(0,0) # 양자 중첩 얽힘 상태의 [0,1] 큐비트를 붕괴시켜 측정하여
# 측정 후 레지스터에 해당하는 메모리 [0,0] 1개에 저장
qc.draw() # 회로 작도, Default 가 qc.draw(‘mpl“) 즉 matplotlib 이다.

# 이 양자 회로도에서 q 는 큐비트, 측정에 의해 c는 중첩상태 붕괴 후 결정된 값을 저장하는 고전적 컴퓨터의 레지스터 메모리를 뜻한다.
# 양자 컴퓨터 하드웨어를 직접 사용하지 않고 내 컴퓨터내에서 양자회로를 1024 번 처리하여 결과를 통계 처리한다.
sampler = StatevectorSampler()
job = sampler.run([qc], shots=1024)
result = job.result()[0]
counts = result.data.meas.get_counts()
print(f"측정 결과: {counts}")
측정 결과: {'1': 491, '0': 533}
from qiskit.visualization import plot_histogram
plot_histogram(counts)

|0>에 Hadamar 게이트를 적용하면 다음과 같이 "0"(|0>) 과 "1"(|1>)이 1:1로 섞인 중첩된 양자 상태가 된다.

즉 중첩된 양자상태가 붕괴되어 측정될 경우 "0"(|0>) 과 "1"(|1>) 중에 하나가 관측될 확률은 50% 로 볼 수 있다.
결과를 보면 1024회 양자회로 실행 중 "0"(|0>) dl 533회, "1"(|1>)이 491회로 큐비트 초기값이 "0" 이나 "1" 이 될 확률이 근사적으로 50% 임을 알 수 있다.
오차를 계산해 보면 무려 (533-512)/512X100=4.1% 가 된다. 즉 가장 간단한 연산에서 이와같이 큰 오차가 발생하므로 양자 컴퓨팅의 오차 축소 문제는 너무나 큰 기술적인 과제로 남아 있다.
컴퓨터 통신 기술에서 주로 사용되는 기술은 데이터를 2배수로 복사해 전송 후 비겨를 통해서 다수결로 판단하던가 아니면 checksum을 활용하기도 한다. 최근 2025년 말 구글, IBM 및 Qunrtinuum 에 의하면 단일 큐비트이 아닌 여러개의 주변 큐비트를 포함한 시스템을 하나의 큐비트로 사용하여 오차를 1000분의 1로 축소 가능하다는 보고가 나오고 있다.
첨부: Aqubit.ipynb
'Python' 카테고리의 다른 글
| 파이선 코딩 초보자를 위한 Colab 양자 컴퓨팅: 파울리 X 게이트 테스트 코드 (0) | 2025.12.25 |
|---|---|
| 파이선 코딩 초보자를 위한 Colab 양자 컴퓨팅: 큐비트 초기화 (0) | 2025.12.24 |
| 쌍극좌표계 작도 (0) | 2025.03.18 |
| 리눅스 폴더 구조와 구글 마운팅 (0) | 2022.08.15 |
| Jupyter Notebook Tutorial: 파이선 코딩 응용실습 (0) | 2022.07.26 |