파울리 전파
이 패키지는 pauli-prop 파울리 전파를 수행하기 위한 Rust로 가속화된 Python 인터페이스를 제공합니다.
파울리 전파(Pauli propagation)는 양자 회로 게이트나 잡음 채널과 같은 다른 연산자의 작용 하에서 파울리 기저에서 연산자의 변화를 근사하는 프레임워크입니다. 이 접근법은 관련 연산자들이 파울리 기저에서 희소하게 분포할 것으로 예상될 때 효과적일 수 있다.
이 패키지의 서브루틴은 라이트콘 셰이딩 [6] 및 전파 노이즈 흡수 [7] 와 같은 오류 완화 기법, 회로 깊이 감소를 위한 연산자 역전파 [8], 그리고 기대값의 고전적 시뮬레이션 [1-5] 을 구현하는 데 사용될 수 있습니다.
시작하기
이 패키지를 빠르게 시작하는 데 도움이 되는 간단한 안내서는 퀵스타트 가이드에서 확인하실 수 있습니다.
유스 케이스 예제
파울리 전파는 다양한 기법을 구현하기 위한 하위 레벨 엔진으로 활용될 수 있습니다. 이 기능이 사용된 몇 가지 예시는 다음과 같습니다:
- 1- 및 2D 횡장 이징 모델 [6] [
qiskit-addon-slc문서 ]에서 기대값을 완화하기 위한 확률적 오차 상쇄(PEC)의 샘플링 오버헤드를 줄이기 위한 라이트콘 셰이딩 - 2D 횡장 이징 모델 [7] [
qiskit-addon-pna문서 ]에서 기대값을 완화하기 위해 소음 모델 정보를 목표 관측량에 반영하기 - 2D 스핀 모델 [8] [
qiskit-addon-obp문서 ]의 시간 진화를 위해 후행 게이트를 트리밍하여 깊이 감소형 트로터 회로를 생성함
기술적 논의
소프트웨어 세부사항
- Rust로 가속화된 Python 인터페이스
- 잡음이 많은 시뮬레이션 지원 [ 가이드 ]
- 절대 계수 허용 오차, 진화 중인 연산자의 항 수 제한, 또는 이 둘의 조합을 기준으로 진화 과정에서 항을 잘라낼 수 있는 기능
- 슈뢰딩거 및 하이젠베르크 틀 모두에서 파울리 전파를 수행할 수 있는 기능
- 파울리 합 연산자의 공액 연산을 다른 파울리 연산자로 근사하는 새로운 기법. 이 휴리스틱 구현 방식은 가장 큰 영향을 미칠 것으로 예상되는 곱에 대한 기여도를 탐욕적으로 생성합니다. 자세한 내용은 [7] 의 부록 B를 참조하십시오.
- 단일 스레드
시스템 사양
파울리 전파 루틴의 메모리 및 시간 비용은 일반적으로 진화된 연산자가 커질 수 있는 크기에 비례하여 증가한다.
propagate_through_rotation_gates(): -큐비트 회로의 일련의 파울리 회전 게이트의 작용 하에 파울리 연산자가 파울리 기저에서 전파됨에 따라, 항의 수는 의 비율로 증가하여 최대 개의 고유한 파울리 성분에 도달하게 된다. 메모리 사용량을 조절하기 위해, 각 게이트를 적용한 후 연산자가 잘려 나가는데, 이로 인해 잘린 항의 계수 크기에 비례하는 오차가 발생한다. 메모리 요구량은 진화시킨 연산자의 크기에 비례하며, 실행 시간은 연산자 크기와 게이트 수 모두에 비례하여 증가합니다.
propagate_through_operator(): 파울리 기저에서 한 연산자를 다른 연산자와 결합할 때, 합식 내의 항들을 탐욕적으로 누적함으로써 이를 수행하며, 여기서 는 파울리 기저에 대한 희소 지수이다. 이 구현 방식은 각 연산자의 계수를 절대값이 큰 순서대로 정렬한 다음, 3D 인덱스 공간에서 계수가 가장 큰 항들을 검색합니다. 이 과정에서 원점 에서 시작하여, 지정된 임계값에 도달할 때까지 3원조를 누적해 나갑니다. 공간에서 검색 단계 크기를 늘리면 검색에 소요되는 시간을 미미한 수준으로 줄일 수 있는 경우가 많으며, 이를 통해 이 서브루틴의 실행 속도가 3배 빨라집니다. 프로파일링 과정에서 연산자를 정렬하고 파울리 곱셈을 수행하여 새로운 연산자의 항을 생성하는 데 상당한 시간이 소요될 수 있습니다.
기여
소스 코드는 GitHub 에서 확인할 수 있습니다.
개발자 가이드가 이 프로젝트 저장소의 루트 디렉터리에 있는 CONTRIBUTING.md 에 있습니다. 참여 시, 참가자는 Qiskit의 행동 강령을 준수해야 합니다.
저희는 요청 사항과 버그를 추적하기 위해 GitHub 의 이슈를 활용하고 있습니다.
이 패키지를 인용하며
연구에서 이 패키지를 사용하신다면, 이 프로젝트 저장소에 있는 CITATION.bib 파일을 참고하여 적절한 인용 정보를 기재해 주십시오.
라이센스
폐기 정책
저희는 시맨틱 버저닝을 따릅니다. 사용자 경험을 개선하기 위해 때때로 호환성 변경을 적용할 수 있습니다. 가능한 경우, 기존 인터페이스가 새로운 인터페이스와 공존할 수 있는 한 이를 그대로 유지하면서 사용 중단 예정으로 표시할 것입니다. 각 주요 개선 사항, 호환성 변경 사항 또는 사용 중단 예정 기능은 릴리스 노트에 기록될 것입니다.
참조
-
[Tomislav Begušić, Johnnie Gray, Garnet Kin-Lic Chan, “오류 허용 기능 구현 전 양자 컴퓨팅의 유용성을 입증하는 증거에 대한 신속하고 수렴된 고전적 시뮬레이션”, arXiv:2308.05077 [quant-ph].
-
니콜라스 루아조 외, PauliStrings.jl를 이용한 양자 다체 시뮬레이션, arXiv:2410.09654[ quant-ph].
-
마누엘 S. 루돌프 외, 파울리 전파: 양자 시스템 시뮬레이션을 위한 계산 프레임워크, arXiv:2505.21606 [quant-ph].
-
흐란트 가리비얀 외, 유틸리티 규모 양자 실험을 위한 파울리 경로 시뮬레이터 활용 실용 가이드, arXiv:2507.10771 [quant-ph].
-
루카스 브로어스 외, Or로 표현된 양자 대수를 이용한 양자 다체 역학의 확장 가능한 시뮬레이션, arXiv:2506.13241 [quant-ph].
-
Andrew Eddins, Minh C. Tran, Patrick Rall, “고전적 가속을 이용한 양자 오류 완화 위한 라이트콘 셰이딩”, arXiv:2409.04401 [quant-ph].
-
앤드류 에딘스 외, 파울리 전파를 이용한 잡음 제거 관측량 계산, arXiv:2606.20441 [quant-ph].
- 브라이스 풀러 외, 연산자 역전파를 이용한 양자 계산의 개선, arXiv:2502.01897 [quant-ph].