BowtieQGT Documentation¶
BowtieQGT is a Python library for efficient computation of Quantum Geometric Tensors (QGT), energy gradients, and variance for parameterized quantum circuits using the “bowtie” method.
The bowtie approach leverages light-cone structures to reduce computational overhead by focusing only on relevant qubits for each parameter and observable term, making it particularly efficient for large quantum circuits.
Key Features¶
Sparse tensor operations for efficient overlap computation
Parallel statevector simulation using Qiskit Aer
Automatic identification of active qubits per parameter/observable
McLachlan gradients for real (VarQRTE) and imaginary (VarQITE) time evolution
Any Aer statevector simulator, including GPU
Quick Example¶
from qiskit import QuantumCircuit
from qiskit.quantum_info import SparsePauliOp
from bowtie_qgt.bowtieqgt import BowtieQGT
# Create a parameterized circuit
qc = QuantumCircuit(4)
# ... add parameterized gates ...
hamiltonian = SparsePauliOp.from_list([("ZIII", 1.0), ("IZII", 1.0)])
bowtie = BowtieQGT(qc, hamiltonian)
generalized_qgt, energy = bowtie.evaluate([0.1] * qc.num_parameters)
qgt = bowtie.extract_qgt(generalized_qgt)
b = bowtie.extract_gradient(generalized_qgt, which="real_time")