2026년 7월 3일 금요일
튜토리얼 목록
고급양자역학

양자 상태 단층 촬영: 밀도 행렬의 완전한 재구성

양자 상태 단층 촬영(QST)은 알려지지 않은 양자 상태를 다수의 측정 결과로부터 통계적으로 재구성하는 기법이다. 밀도 행렬을 토대로 순수 상태와 혼합 상태를 모두 기술하며, 큐비트 수가 늘어날수록 필요한 측정 횟수가 지수적으로 증가하는 확장성 문제가 핵심 도전 과제다.

개념 소개

고전적 단층 촬영(CT)은 여러 각도에서 X선을 투사해 내부 구조를 재구성한다. 양자 상태 단층 촬영(Quantum State Tomography, QST)도 동일한 논리를 따른다. 단, 재구성 대상은 공간적 밀도가 아니라 밀도 행렬(density matrix) 이다.

단일 복사본에서 를 완전히 알아낼 수 없다는 점이 고전과의 근본적 차이다. 측정 자체가 상태를 붕괴시키므로, 동일한 방식으로 준비된 앙상블(ensemble)을 반복 측정해 확률 분포를 추정한 뒤, 이로부터 를 역산한다.


핵심 원리

밀도 행렬과 정보량

-큐비트 계의 밀도 행렬은 복소 에르미트(Hermitian) 행렬로, 다음 조건을 만족한다.

실수 자유도는 개다. 이를 모두 결정하려면 적어도 개의 독립적인 측정 기댓값이 필요하다.

Pauli 기저 분해

단일 큐비트의 경우, 임의의 밀도 행렬은 Pauli 행렬 로 전개된다.

여기서 Bloch 벡터 는 각 축 방향의 측정 기댓값이다.

-큐비트로 확장하면, -fold Pauli 텐서곱 전체(개)를 기저로 삼는다.

선형 역산과 최대우도 추정

측정 기댓값 벡터 와 측정 연산자 행렬 가 주어질 때, 선형 역산(linear inversion)은

를 최소제곱법으로 푼다. 그러나 이 방법은 유한 샘플 잡음으로 인해 양정치(positive semidefinite) 조건을 위반하는 비물리적 를 산출할 수 있다.

이를 해결하기 위해 **최대우도 추정(Maximum Likelihood Estimation, MLE)**을 사용한다.

는 POVM 원소 에 대한 Born 규칙 확률이며, 는 해당 결과의 관측 횟수다. Cholesky 분해 를 이용하면 양정치 제약을 자동으로 만족시킨 채 최적화할 수 있다.

측정 복잡도와 확장성

큐비트 수 자유도 필요 측정 설정 수
1 3 3
2 15 9
4 255 81
10 ~ ~

이 지수적 증가를 완화하기 위한 방법으로 **압축 센싱(compressed sensing QST)**과 행렬곱 상태(MPS) 기반 QST가 연구되고 있다.


예시·응용

Python 예시: 단일 큐비트 MLE 토모그래피

import numpy as np
from scipy.optimize import minimize

# Pauli 행렬
I  = np.eye(2)
sx = np.array([[0,1],[1,0]])
sy = np.array([[0,-1j],[1j,0]])
sz = np.array([[1,0],[0,-1]])

def bloch_to_rho(r):
    """Bloch 벡터 → 밀도 행렬"""
    return 0.5 * (I + r[0]*sx + r[1]*sy + r[2]*sz)

def born_prob(rho, basis_vec):
    """|basis_vec><basis_vec| 측정 확률"""
    proj = np.outer(basis_vec, basis_vec.conj())
    return np.real(np.trace(proj @ rho))

# 시뮬레이션: |+> 상태 준비 후 측정 데이터 생성
rho_true = bloch_to_rho([1, 0, 0])
shots = 1000
rng = np.random.default_rng(42)

# X, Y, Z 기저 측정 (각 기저에서 |0>, |1> 투영)
bases = {
    'X': [np.array([1,1])/np.sqrt(2), np.array([1,-1])/np.sqrt(2)],
    'Y': [np.array([1,1j])/np.sqrt(2), np.array([1,-1j])/np.sqrt(2)],
    'Z': [np.array([1,0]),             np.array([0,1])],
}
counts = {}
for key, (v0, v1) in bases.items():
    p0 = born_prob(rho_true, v0)
    counts[key] = rng.multinomial(shots, [p0, 1-p0])

# MLE: Bloch 벡터 최적화 (|r|<=1 제약을 페널티로 처리)
def neg_log_likelihood(r):
    if np.dot(r, r) > 1:
        return 1e10
    rho = bloch_to_rho(r)
    ll = 0
    for key, (v0, v1) in bases.items():
        p0 = np.clip(born_prob(rho, v0), 1e-9, 1)
        p1 = np.clip(1 - p0, 1e-9, 1)
        ll += counts[key][0]*np.log(p0) + counts[key][1]*np.log(p1)
    return -ll

res = minimize(neg_log_likelihood, x0=[0,0,0], method='Nelder-Mead')
r_est = res.x
rho_est = bloch_to_rho(r_est)

print(f"추정 Bloch 벡터: {r_est.round(3)}")
print(f"추정 밀도 행렬:\n{rho_est.round(3)}")
# 충실도(fidelity)
fidelity = np.real(np.trace(rho_true @ rho_est))
print(f"충실도: {fidelity:.4f}")

실제 양자 컴퓨터 적용

IBM Quantum 및 Google Quantum AI 플랫폼에서는 QST를 내장 라이브러리로 제공한다. Qiskit의 StateTomography 실험 클래스는 Pauli 기저 회로를 자동 생성하고 MLE를 수행한다. 다만 5큐비트 이상에서는 실행 시간이 급증하므로, 실험적으로는 2~4큐비트 서브시스템 토모그래피가 일반적이다.

**충실도(Fidelity)**는 재구성 품질의 표준 지표다.

순수 상태 에 대해서는 로 단순화된다.


정리

QST는 양자 장치 특성화(characterization)의 가장 직접적인 방법이지만, 지수적 자원 요구라는 근본적 한계를 가진다. MLE는 물리적 유효성을 보장하는 표준 재구성 기법이며, 압축 센싱이나 신경망 기반 방법론이 이 한계를 완화하려는 활발한 연구 방향이다. 재구성된 로부터 얽힘 지표, 폰 노이만 엔트로피, 충실도 등 다양한 양자 정보 물리량을 직접 계산할 수 있다.

연습문제

  1. Q1.단일 큐비트 밀도 행렬의 실수 자유도가 3인 이유를 에르미트 조건과 단위 대각합 조건으로부터 도출하라.

    힌트 보기

    $2\times2$ 복소 에르미트 행렬의 독립 실수 매개변수 수를 먼저 세고, 거기에 $\text{tr}(\rho)=1$ 제약을 적용한다.

    해설 보기

    $2\times2$ 복소 행렬은 8개의 실수 매개변수를 갖는다. 에르미트 조건 $\rho=\rho^\dagger$는 대각 원소를 실수로 강제(2개 조건)하고 off-diagonal 원소를 켤레 쌍으로 묶어(2개 조건) 총 4개의 제약을 준다. 남은 자유도는 4개. 여기에 $\text{tr}(\rho)=1$ 조건이 1개 추가되므로 최종 자유도는 $4-1=3$이 된다. 이는 Bloch 벡터 $(r_x, r_y, r_z)$의 3성분에 대응한다.

  2. Q2.2큐비트 QST를 Pauli 기저로 수행할 때 필요한 측정 설정(basis setting)의 수와 총 자유도를 구하고, 각 설정당 최소 몇 번의 독립 측정이 필요한지 논하라.

    해설 보기

    2큐비트 밀도 행렬의 자유도는 $4^2-1=15$이다. Pauli 기저 조합은 $\{X,Y,Z\}^{\otimes 2}$로 9가지 설정이 가능하다. 각 설정에서 4개의 결과가 나오지만 확률의 합이 1이므로 독립 기댓값은 3개씩이다. 따라서 9×3=27개의 측정값을 얻을 수 있어 15개의 자유도를 결정하기에 충분하다. 단, 유한 샘플 잡음을 고려하면 통계적 신뢰도 확보를 위해 설정당 수백~수천 회의 반복 측정이 실질적으로 요구된다.

  3. Q3.MLE에서 Cholesky 분해 $\rho = T^\dagger T / \text{tr}(T^\dagger T)$를 사용하면 양정치 반정치(PSD) 조건이 자동으로 충족되는 이유를 설명하라.

    해설 보기

    임의의 복소 행렬 $T$에 대해 $T^\dagger T$는 정의상 양반정치(PSD)다. 임의의 벡터 $|v\rangle$에 대해 $\langle v | T^\dagger T | v \rangle = \|T|v\rangle\|^2 \geq 0$이 항상 성립하기 때문이다. 정규화 인수 $\text{tr}(T^\dagger T) > 0$으로 나누어도 PSD 성질은 유지되며 $\text{tr}(\rho)=1$이 보장된다. 따라서 $T$의 원소를 무제약(unconstrained) 복소 매개변수로 놓고 최적화하면, 탐색 공간 전체에서 물리적으로 유효한 $\rho$만 생성되어 제약 최적화를 단순한 비제약 최적화로 바꿀 수 있다.

관련 용어

이 챕터는 Claude (claude-sonnet-4-6)가 작성했습니다. · 발행 2026. 5. 1.