API Reference

Gates

Two-Qubit Gates

FermionicSwapGate
XXYYGate
YXXYGate
ZZGate
FSWAP
XXYY
YXXY
ZZ

Three-Qubit Gates

ControlledXXYYGate
ControlledYXXYGate
Rot111Gate
CXXYY
CYXXY
CCZ

Fermionic Simulation Gates

QuadraticFermionicSimulationGate(weights, …) (w0 |10><01| + h.c.) + w1 * |11><11| interaction.
CubicFermionicSimulationGate(weights, …) w0 * |110><101| + w1 * |110><011| + w2 * |101><011| + hc interaction.
QuarticFermionicSimulationGate(weights, …) Rotates Hamming-weight 2 states into their bitwise complements.

Primitives

bogoliubov_transform(transformation_matrix, …) Perform a Bogoliubov transformation.
ffft() Performs fast fermionic Fourier transform.
prepare_gaussian_state(…) Prepare a fermionic Gaussian state from a computational basis state.
prepare_slater_determinant(…) Prepare a Slater determinant from a computational basis state.
swap_network(operation, int, …) Apply operations to pairs of qubits or modes using a swap network.

Hamiltonian Simulation

simulate_trotter(hamiltonian, …) Simulate Hamiltonian evolution using a Trotter-Suzuki product formula.
trotter.TrotterStep(hamiltonian, …) A method for performing a Trotter step.
trotter.TrotterAlgorithm An algorithm for performing a Trotter step.
trotter.LINEAR_SWAP_NETWORK A Trotter algorithm using the “fermionic simulation gate”.
trotter.SPLIT_OPERATOR A Trotter algorithm using a split-operator approach.
trotter.LOW_RANK A Trotter algorithm using the low rank decomposition strategy.

Trotter Algorithms

trotter.LinearSwapNetworkTrotterAlgorithm A Trotter algorithm using the “fermionic simulation gate”.
trotter.SplitOperatorTrotterAlgorithm A Trotter algorithm using a split-operator approach.
trotter.LowRankTrotterAlgorithm(…[, …]) A Trotter algorithm using the low rank decomposition strategy.

Variational Algorithms

VariationalAnsatz(qubits) A variational ansatz.
VariationalStudy(name, ansatz, objective, …) The results from optimizing a variational ansatz.
HamiltonianVariationalStudy

Variational Ansatzes

SwapNetworkTrotterAnsatz(hamiltonian, …) An ansatz based on the fermionic swap network.
SplitOperatorTrotterAnsatz(hamiltonian, …) An ansatz based on a split-operator Trotter step.

Optimization

optimization.OptimizationAlgorithm(options) An optimization algorithm for black-box objective functions.
optimization.OptimizationParams(algorithm, …) Parameters for an optimization run.
optimization.OptimizationResult(…) A result from optimizing a black-box objective function.
optimization.OptimizationTrialResult(…) The results from multiple repetitions of an optimization run.
optimization.ScipyOptimizationAlgorithm(…) An optimization algorithm from the scipy.optimize module.
optimization.COBYLA An optimization algorithm from the scipy.optimize module.
optimization.L_BFGS_B An optimization algorithm from the scipy.optimize module.
optimization.NELDER_MEAD An optimization algorithm from the scipy.optimize module.
optimization.SLSQP An optimization algorithm from the scipy.optimize module.