tequilahub/tequila
A High-Level Abstraction Framework for Quantum Algorithms
Tequila – 변분 양자 알고리즘을 위한 Python 프레임워크
무엇인가요 – Tequila는 하드웨어에 종속되지 않는 방식으로 양자 회로를 작성, 결합, 미분, 최적화할 수 있는 Python 라이브러리입니다. 변분 알고리즘(VQE, QAOA 등)에 초점을 맞추며, 양자 백엔드(시뮬레이터 및 실제 장치)와 양자 화학 패키지에 대한 고수준 추상화를 제공합니다.
핵심 아이디어
- 추상 데이터 구조 – 회로, 하미르토니안, 기대값, 최적화 목표는 각각 객체(
tq.gates,tq.ExpectationValue,tq.Variable)로 표현됩니다. 이는 특정 시뮬레이터에 하드코딩하지 않고도 복잡한 워크플로우를 구축할 수 있게 해줍니다. - 자동 미분 – 라이브러리는 기대값의 그래디언트를 자동으로 계산할 수 있어, BFGS와 같은 그래디언트 기반 최적화기를 사용할 수 있습니다.
- 백엔드에 의존하지 않는 실행 – 지원되는 백엔드(Qulacs, Qibo, Qiskit, Cirq, PyQuil, QLM) 중 하나가 설치되어 있으면 Tequila는 자동으로 감지하고 사용합니다. 또한, 분자 구조에서 큐비트 하미르토니안을 생성하기 위해 양자 화학 엔진(Psi4, PySCF, Madness)을 연결할 수 있습니다.
- 화학 중심의 유틸리티 – 분자 하미르토니안 생성, 일반적인 안자츠(UCC, UpCCGSD, SPA 등) 생성, 고전적 참조 방법(CISD, FCI)과의 비교를 위한 도구가 제공됩니다.
일반적인 워크플로우 (Hello-World)
import tequila as tq
from math import pi
# 1️⃣ 변분 파라미터 정의
θ = tq.Variable('θ')
# 2️⃣ 간단한 회로 구성 (큐비트 0에 대한 Ry 회전)
U = tq.gates.Ry(angle=θ*pi, target=0)
# 3️⃣ 관측량 선택 (큐비트 0에 대한 Pauli-X)
H = tq.paulis.X(0)
# 4️⃣ 기대값 ⟨ψ(θ)|H|ψ(θ)⟩ 구성
E = tq.ExpectationValue(H=H, U=U)
# 5️⃣ 최적화 – 기대값의 제곱을 최소화
result = tq.minimize(method='bfgs', objective=E**2)
# 6️⃣ 결과 확인
print('최적의 파동함수:', tq.simulate(U, variables=result.angles))
result.history.plot('energies')
이 패턴은 화학에도 확장 가능: Molecule을 정의하고 큐비트 하미르토니안을 생성한 후, 안자츠를 선택하고 tq.minimize를 호출합니다.
설치
- 핵심 패키지는 PyPI에서
tequila-basic으로 배포됩니다.pip install tequila-basic로 설치할 수 있습니다. - 시뮬레이터에서 최고 성능을 얻으려면 Qulacs와 같은 빠른 백엔드를 추가하세요 (
pip install qulacs). - 선택적 화학 백엔드(Psi4, PySCF, Madness)는 별도로 설치(conda 또는 pip)되며 자동 감지됩니다.
- 개발 버전은 GitHub에서 직접 가져올 수 있습니다 (
pip install git+https://github.com/tequilahub/tequila.git).
에코시스템 및 커뮤니티
- 튜토리얼 및 문서 – 기본 사용법, 화학 모듈, 고급 주제를 다루는 노트북을 포함한 전용 사이트(
tequilahub.github.io/tequila-tutorials)가 있습니다. - 연구 영향력 – README에는 VQE, 기저함수 없는 방법, 양자 광학 하드웨어 설계, 강건성 분석 등에 Tequila를 사용한 수십 개의 심사된 논문이 목록화되어 있습니다. 많은 논문은
tequila-tutorials리포지토리에 예제 노트북을 제공합니다. - 확장성 – 풀 리퀘스트를 통해 새로운 백엔드, 안자츠, 최적화 전략을 기여할 수 있습니다. 프로젝트는 표준 Python 툴링을 따릅니다(Ruff로 포맷팅, GitHub Actions를 통한 CI).
누가 사용할 수 있나요
- 다양한 시뮬레이터 또는 실제 양자 하드웨어에서 VQE를 실행하고 싶은 양자 화학 연구자.
- 새로운 변분 안자츠나 그래디언트 기반 최적화 전략을 프로토타이핑하는 알고리즘 개발자.
- 저수준 백엔드 세부사항을 추상화하면서도 기초 회로 모델을 노출하는 교육용 라이브러리가 필요한 교육자.
위의 모든 정보는 리포지토리의 README에서 직접 가져온 것이며, 추가 기능은 추측되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트