Qiskit 페르미온
qiskit-fermions Qiskit SDK 를 확장하여 페르미온 계를 다루기 위한 도구들을 제공합니다. 이 규정의 적용 범위 내에서 다음을 규정하고 있습니다:
- 다양한 형태의 페르미온 연산자를 표현하고 조작하기 위한 효율적인 데이터 구조
- 연산자 변환 방법(페르미온-큐비트 인코딩 포함)을 구현하기 위한 프레임워크
- 일반적인 변환 메서드의 효율적인 구현을 모아둔 라이브러리
- 페르미온 회로를 표현하기 위한 프레임워크 및 게이트 라이브러리
- Qiskit 트랜스파일러 프로세스와 통합된 트랜스파일레이션 파이프라인을 통해 페르미온 회로를 큐비트 기반 회로로 합성한다
또한, 다음과 같은 생태계의 다른 도구들과 연동됩니다 qiskit-fermions :
- 고수준 안자츠 연산자 및 페르미온 회로의 효율적인 시뮬레이션을 위한 ffsim ( ffsim과의 관계 참조)
시작하기
위 이미지의 개략적인 설명은 이 패키지가 제공하는 다양한 기능과 일반적인 작업 흐름을 엿볼 수 있게 해줍니다. Qiskit의 다중 표현형 트랜스파일러 파이프라인에 통합될 페르미온-큐비트 인코딩을 정의하기 전에, 연산자 표현과 회로 표현 모두를 사용하여 페르미온 영역에서 작업을 수행할 수 있습니다.
이러한 모든 기능은 여러분이 쉽게 시작할 수 있도록 여러 가이드에서 자세히 설명되어 있습니다. 위에서 보여준 파이프라인을 정확히 따라가는 방법에 대한 개요를 보려면, ‘ 1D ’의 페르미-허바드 가이드를 먼저 살펴보세요.
유스 케이스 예제
이 패키지의 구성 요소들은 다음 논문들과 관련된 연구에 활용되었습니다:
기술적 논의
디자인 의도
이 패키지는 Qiskit과 호환되도록 의도적으로 설계되었습니다. Rust로 구현된 코어를 기반으로 하며, Python 및 C에 대한 공식 언어 바인딩을 제공합니다. 이 패키지의 API는 Qiskit에 익숙한 사용자들이 기존 작업 흐름에 원활하게 통합할 수 있도록 Qiskit과 유사한 구조를 따르도록 설계되었습니다.
의 설계에 있어 핵심 원칙 중 하나는 페르미온 회로 표현과 큐비트화 형태를 분리하는 것이었다 qiskit-fermions . 더 정확히 말하자면, 페르미온 회로는 그 자체로 의미가 있으며, 해석 가능하기 위해 큐비트 공간으로의 매핑이 필요하지 않습니다. 또한, 페르미온 회로 표현법은 이후에 적용될 페르미온-큐비트 인코딩에 대해 어떠한 가정도 할 수 없다. 따라서, 조던-위그너(Jordan-Wigner)가 여전히 지배적인 위치와 역할을 차지하고 있지만, 이것이 페르미온-큐비트 인코딩의 _기본_ 방식이라고 가정되지는 않는다.
ffsim과의 관계
ffsim을 사용하고, 작업을 중복하지 말고 qiskit-fermions 분담하십시오. ffsim은 고수준 안자츠 연산자와 이에 대한 고속 시뮬레이션 기능을 갖추고 있습니다. 이 프로그램은 결합 클러스터 진폭이나 매개변수 벡터로부터 UCJ 또는 UCCSD 연산자를 구성하고, 고정된 입자 수를 가진 콤팩트한 공간에서 페르미온 상태를 시뮬레이션합니다. qiskit-fermions 회로 측을 소유한다: 해당 연산자를 페르미온 모드에 대한 FermionicCircuit 로 표현하고, 임의의 페르미온-큐비트 인코딩을 통해 이를 큐비트 회로로 변환한다.
바로 그 마지막 점이 바로 ffsim 연산자를 여기에 도입해야 하는 이유입니다. ffsim 고유의 Qiskit 게이트는 조던-위그너 변환에 특화되어 있으므로, 이 패키지는 다른 인코딩 방식(예를 들어, 큐비트를 더 단순한 회로로 대체하는 국소 인코딩)을 통해 안자츠를 단순화하는 기능을 제공합니다. 반대로, 이 패키지는 안자츠 수식을 재구현하지 않으므로 UCJ 와 는 ffsim 연산자를 직접 입력으로 받아들입니다 UCC .
시뮬레이션 측면에서는 ffsim이 백엔드 역할을 합니다. 이 패키지의 게이트와 연산자는 ffsim의 시뮬레이션 함수가 사용하는 프로토콜 메서드(_apply_unitary_, 및 _linear_operator_ _trace_; 참조 qiskit_fermions.protocols)를 구현하므로, ffsim의 도구는 별도의 변환 단계 없이 이를 기본적으로 처리할 수 있습니다. ffsim은 Windows를 지원하지 않는 PySCF, 에 의존하기 때문에, 현재로서는 Windows에서 시뮬레이션을 수행하려면 Windows Subsystem for Linux 를 거쳐야 합니다. 빌딩 연산자, 이를 매핑하고, 그 결과로 생성된 회로를 트랜스파일링하는 과정은 이러한 작업이 전혀 필요하지 않으며 어디서나 작동합니다.
전체 내용을 확인하려면 ffsim 관계 가이드를 읽어보세요.
알려진 문제
Qiskit C API가 Python API와 기능적으로 동등한 수준에 도달하지 않은 한, 이 패키지의 일부 구성 요소 역시 Python API에서만 사용할 수 있습니다. 여기에는 전체 회로 라이브러리(qiskit_fermions.circuit)와 트랜스파일러 처리 단계(qiskit_fermions.transpiler)가 모두 포함됩니다.
앞으로의 작업
- 회로 라이브러리와 트랜스파일러 패스를 Rust 코어로 이관하고(이를 활용하기 위한 C API를 제공함)
- 효율적인 연산자 변환 구현 라이브러리를 확장합니다
- 효율적인 연산자 데이터 구조 라이브러리를 확장합니다
기여
소스 코드는 GitHub 에서 확인할 수 있습니다.
개발자 가이드가 이 프로젝트 저장소의 루트 디렉토리에 있는 CONTRIBUTING.md 에 있습니다. 참여 시, 참가자는 Qiskit의 행동 강령을 준수해야 합니다.
이 패키지를 인용하며
연구에서 이 패키지를 사용하신다면, 이 프로젝트 저장소에 있는 CITATION.bib 파일을 참고하여 적절한 인용 정보를 기재해 주시기 바랍니다.
라이센스
폐기 정책
이 패키지는 시맨틱 버저닝을 따릅니다. 사용자 경험을 개선하기 위해 가끔씩 호환성 변경 사항이 적용됩니다. 가능한 경우, 기존 인터페이스는 새로운 인터페이스와 공존할 수 있는 한 계속 유지되며, 사용 중단 예정으로 표시됩니다. 각 주요 개선 사항, 호환성 변경 사항 또는 사용 중단 예정 기능은 릴리스 노트에 기록되어 있습니다.
참조
[ 1 ]
사무엘레 피치넬리 외, 무작위 표본 기반 크릴로프 양자 대각화를 통해 수렴성이 입증된 양자 화학, arXiv:2508.02578 [quant-ph].
[ 2 ]
앤서니 간돈 외, 국소 큐비트 인코딩을 이용한 페르미온 동역학의 안정화기 기반 양자 시뮬레이션, arXiv:2512.11418 [quant-ph].