양자 상태 추정과 가설 검정으로 실험 신뢰성 확보하기

Quantum State Tomography와 Quantum Hypothesis Testing의 측정 설계, 추정·검정 구조, 양자 하드웨어 운영 적용 방식을 정리한다.

2026-08-14 · 최초 발행 2024-04-29

양자 실험 데이터는 추정과 판정을 함께 요구한다

양자 하드웨어의 성능과 알고리즘 결과를 검증할 때는 측정 카운트만으로 상태 품질을 바로 판단하기 어렵다. 실험 데이터에서 밀도행렬을 추정하고, 필요한 조건이 충족됐는지를 통계적으로 검정해야 재현 가능한 운용 체계를 만들 수 있다.

Quantum State Tomography(QST)는 여러 측정 기준에서 얻은 데이터를 사용해 미지의 양자 상태, 즉 밀도행렬을 추정하는 절차다. 정보완비(Informationally complete) 측정과 역문제 최적화가 중심이며, 선형 역산(Linear inversion), 최대우도추정(MLE), 저랭크 가정의 압축 센싱, 베이지안 추론을 사용할 수 있다.

Quantum Hypothesis Testing(QHT)은 양자 상태·채널·해밀토니안에 대한 가설을 세운 뒤 POVM 측정과 통계량으로 수용 또는 기각을 결정한다. 1종·2종 오류를 제어하면서 검정력을 높이는 것이 목적이다. Helstrom 측정, Neyman–Pearson 유사 원리, Quantum Chernoff/Stein 경계는 이 과정의 최적성을 다룬다.

실험에는 SPAM(State Preparation And Measurement) 오류, 비정상 드리프트, 유한 샘플 효과가 섞인다. 따라서 측정 POVM의 모델링과 캘리브레이션이 필요하다. 데이터는 상태 준비, 측정 설정 샘플링, 결과 카운트 축적, 추정·검정 계산의 순서로 만들어진다.

측정 설계부터 불확실성 관리까지

단일·다중 큐빗 환경에서는 Pauli 또는 IC-POVM로 정보완비성을 확보할 수 있다. 다만 측정 설정 수와 샘플 수 사이에는 자원과 정확도의 트레이드오프가 있다. 집단(collective) 측정이나 적응형 측정을 이용하면 샘플 복잡도를 낮출 수 있다.

QST의 MLE는 반정확성(PSD)과 정규화(Trace-1) 제약을 둔 볼록 최적화 문제다. 선형 역산은 빠르지만 물리적으로 타당하지 않은 결과를 만들 수 있다. QHT는 우도비·상대엔트로피 기반 통계량과 임계치로 구현하며, Helstrom 측정은 두 상태를 이원 판별할 때 오류 확률을 최소화한다.

추정 결과의 변동성은 부트스트랩, 피셔정보, 베이지안 사후분포로 평가할 수 있다. 상태 충실도·엔트로피·관측치에 대해 CI/CR을 산출하고, 검정 단계에서는 유의수준 α, 검정력 1-β, 효과크기, 샘플 수를 사전에 설계한다.

전상태 토모그래피는 O(4^n)의 측정 설정과 데이터 규모를 요구한다. 저랭크 가정, 압축 센싱, Classical/Shadow Tomography는 완전한 재구성 대신 기능적 추정에 초점을 맞춘다. QHT는 가설군이 제한된 경우 O(poly(n)) 자원으로 판별할 수 있는 경우가 있다.

운영 단계에서는 실험 자동화 파이프라인, 캘리브레이션 루프, 모델 미스핏 진단, 재측정 정책을 함께 구성한다. 데이터 품질 게이트와 리포팅 형식도 정해야 한다. 충실도 추정치, CI 폭, α/β, 드리프트 알람, 재작업 비율은 모니터링 지표가 된다.

재측정까지 연결되는 실험 흐름

아니오부족충족미스핏적합수용/기각 결정불충족입력: 실험 설계(측정기준·샘플수), 장비 캘리브레이션 상태측정 설정 정보완비성 충족 여부데이터 수집: 다중 기준 측정카운트 축적측정 재설계·POVM캘리브레이션샘플 충족 여부(분산·CI기준)추가 샘플링 또는 적응형 측정QST: 물리 제약(MLE/PSD)기반 밀도행렬 추정모델 미스핏/잔차 검정SPAM 보정·노이즈 모델업데이트상태 지표계산(충실도·엔트로피·CI)QHT: 가설 설정(H0/H1),최적/근사 POVM 선택통계량계산(우도비·Chernoff·p-value)의사결정: α, β 기준 충족 여부출력: 추정 결과·검정 리포트,재측정 권고안

하드웨어와 회로를 검증하는 방식

하드웨어 캘리브레이션에서는 단일·2큐빗 게이트의 유니타리 근사 품질을 확인할 수 있다. 상태·공정 토모그래피로 충실도와 누설률을 추정하고, 주기적 QST로 드리프트를 탐지한다. QHT는 사양 미달 여부를 빠르게 판정하는 자동화 수단이 된다.

Variational 회로에서는 중간 상태 품질을 확인하기 위해 부분 토모그래피를 적용할 수 있다. 이를 통해 파라미터 업데이트 방향성을 검증하고, 특정 상호작용 항의 존재 여부처럼 한정된 가설에는 QHT를 적용해 회로 단순화 여부를 결정한다.

오류 정정 환경에서는 코드 공간에 투영된 상태를 QST로 분석해 논리 상태 충실도를 추정한다. 잡음 채널 가정의 타당성도 검증 대상이다. QHT는 비대칭·상관 잡음 같은 오류 모드의 존재 여부를 판정하고 제어 파라미터 재튜닝에 연결할 수 있다.

전체 상태 재구성과 특정 판정의 차이

구분 성능 확장성 일관성 안정성 운영 편의
QST 전체 상태 재구성으로 지표 다양성 확보 지수적 비용, 저랭크·섀도우 기법으로 부분 완화 MLE·베이지안으로 통계적 일관성 확보 가능 SPAM·모델 미스핏 민감 설정/후처리 복잡, 자동화 필요
QHT 특정 의사결정에 최적화된 오류 최소화 가설 제한 시 다항 자원 달성 가능 α/β 제어로 재현성 높은 판정 측정 최적화 실패 시 편향 가능 실시간 판정 용이, 실험 비용 절감

섀도우/부분 토모그래피를 적용하면 관측자 수 기준 샘플 수를 10^210^3 배 절감할 수 있다. 동일 샘플 대비 MLE 기반 CI 폭은 2040% 축소할 수 있다. QHT를 도입하면 캘리브레이션 판정 시간을 50% 이상 단축하고, 오탐/미탐률 α=1%, β=5% 수준의 운영 기준을 세울 수 있다.

이 체계는 재현 가능한 추정·검정 절차를 통해 신뢰성을 높이고, 모델 미스핏을 자동 진단해 문제 원인을 분리하는 데도 도움이 된다. 의사결정에 필요한 간결한 지표를 확보하면 실험 설계와 자원 배분을 조정하기 쉬워진다.

1큐빗 상태 추정과 Z-기준 단측 검정 코드

전제조건: Python 3.10+, numpy 1.24+

import numpy as np
from numpy.linalg import eig

# Pauli 행렬
I = np.array([[1, 0], [0, 1]], dtype=complex)
X = np.array([[0, 1], [1, 0]], dtype=complex)
Y = np.array([[0, -1j], [1j, 0]], dtype=complex)
Z = np.array([[1, 0], [0, -1]], dtype=complex)

def estimate_rho_from_counts(pauli_counts):
    """
    pauli_counts 예:
    {
      'X': {'+1': nx_plus, '-1': nx_minus},
      'Y': {'+1': ny_plus, '-1': ny_minus},
      'Z': {'+1': nz_plus, '-1': nz_minus}
    }
    """
    r = {}
    for P in ['X', 'Y', 'Z']:
        plus = pauli_counts[P].get('+1', 0)
        minus = pauli_counts[P].get('-1', 0)
        N = plus + minus
        if N == 0:
            raise ValueError(f"No samples for {P}")
        r[P] = (plus - minus) / N  # 기대값 추정
    rho = 0.5 * (I + r['X']*X + r['Y']*Y + r['Z']*Z)

    # 물리 투영: 고유값을 [0,1]로 클리핑 후 정규화
    vals, vecs = eig((rho + rho.conj().T)/2)  # Hermitian 보정
    vals_clipped = np.clip(vals.real, 0, None)
    if vals_clipped.sum() == 0:
        vals_clipped = np.array([1.0, 0.0])
    rho_proj = (vecs @ np.diag(vals_clipped) @ np.linalg.inv(vecs))
    rho_proj = rho_proj / np.trace(rho_proj)
    return rho_proj

def z_basis_one_sided_test(z_counts, p0=0.95, alpha=0.05):
    """
    H0: p >= p0 (Z 측정에서 |0> 관측 확률)
    H1: p < p0
    의사결정 규칙: p-value = P(X <= k | n, p0) <= alpha 이면 H0 기각
    """
    from math import comb
    k = z_counts.get('+1', 0)  # |0> 관측 카운트
    n = z_counts.get('+1', 0) + z_counts.get('-1', 0)
    if n == 0:
        raise ValueError("No Z-basis samples")
    # 누적 분포 계산
    p_value = sum(comb(n, i) * (p0**i) * ((1-p0)**(n-i)) for i in range(0, k+1))
    decision = "Reject H0" if p_value <= alpha else "Fail to reject H0"
    return {"n": n, "k": k, "p0": p0, "alpha": alpha, "p_value": p_value, "decision": decision}

# 예시 데이터
counts = {
    'X': {'+1': 520, '-1': 480},
    'Y': {'+1': 505, '-1': 495},
    'Z': {'+1': 980, '-1': 20},  # |0> 상태 근사
}

rho = estimate_rho_from_counts(counts)
test = z_basis_one_sided_test(counts['Z'], p0=0.99, alpha=0.01)

print("Estimated rho:\n", np.round(rho, 4))
print("Z-basis one-sided test:", test)

이 예시는 X/Y/Z 기대값으로 Bloch 벡터를 추정한 뒤 물리 영역으로 투영한다. 고유값 클리핑은 PSD와 Trace-1을 보장한다. 검정 부분은 Z 기준에서 |0> 관측 확률을 단측으로 다루며, 우도 하한 p0에 비해 관측치가 충분히 작으면 H0를 기각한다.

SPAM 보정을 적용하지 않은 환경에서 p0를 정할 때는 측정 오류 모델을 반영해야 한다. α를 과도하게 낮춰 자신감을 부풀리는 것도 피해야 한다. 다중 비교에는 Bonferroni/Holm 유의수준 보정을 적용한다.

QST는 전반적인 상태 품질과 물리 지표가 필요할 때, QHT는 자원을 아끼며 특정 의사결정을 내려야 할 때 적합하다. 정보완비 측정 설계, 물리 제약 MLE·우도비 기반 검정, SPAM 보정을 함께 운영하고, 섀도우/부분 토모그래피와 적응형 검정을 결합해 확장성과 운영 편의의 균형을 맞춘다.

양자 컴퓨팅상태 토모그래피가설 검정양자 통계POVM