Skip to main content
Software
Tools for quantum computing research and development
Learn about our software stack and available resources to help you with your work
See all tools
Programming framework
Cirq
An open source Python framework and simulators for writing, optimizing, and running quantum programs
Computing service
Quantum Virtual Machine
Run your quantum program on a virtual grid on our quantum hardware
Libraries and extensions
OpenFermion
The electronic structure package for quantum computers
qsim
Schrödinger and Schrödinger-Feynman simulators for quantum circuits
TensorFlow Quantum
A library for hybrid quantum-classical machine learning
Hardware
Overview
Our lab
Research
Overview
Publications
Conferences
Outreach
Diversity
Education
Team
Overview
Careers
/
Sign in
OpenFermion
Overview
Guide & Tutorials
Reference
Software
More
Overview
Guide & Tutorials
Reference
Hardware
More
Research
More
Education
Team
More
OpenFermion
All Symbols
openfermion
Overview
fixed_trace_positive_projection
heaviside
higham_polynomial
higham_root
map_to_matrix
map_to_tensor
openfermion.chem
Overview
MolecularData
angstroms_to_bohr
antisymtei
bohr_to_angstroms
geometry_from_file
geometry_from_pubchem
j_mat
k_mat
load_molecular_hamiltonian
make_atom
make_atomic_lattice
make_atomic_ring
make_reduced_hamiltonian
name_molecule
chemical_series
Overview
MolecularLatticeError
molecular_data
Overview
MissingCalculationError
MoleculeNameError
spinorb_from_spatial
pubchem
Overview
reduced_hamiltonian
Overview
openfermion.circuits
Overview
AsymmetricSplitOperatorTrotterStep
CRxxyy
CRyxxy
ControlledAsymmetricSplitOperatorTrotterStep
ControlledSymmetricSplitOperatorTrotterStep
CubicFermionicSimulationGate
DoubleExcitation
DoubleExcitationGate
FSWAP
FSwapPowGate
InteractionOperatorFermionicGate
LinearSwapNetworkTrotterAlgorithm
LowRankTrotterAlgorithm
ParityPreservingFermionicGate
QuadraticFermionicSimulationGate
QuarticFermionicSimulationGate
Rxxyy
Ryxxy
Rzz
SplitOperatorTrotterAlgorithm
SplitOperatorTrotterStep
SymmetricSplitOperatorTrotterStep
TrotterAlgorithm
TrotterStep
bit_mask_of_modes_acted_on_by_fermionic_terms
bogoliubov_transform
diagonal_coulomb_potential_and_kinetic_terms_as_arrays
error_bound
error_operator
fermionic_simulation_gates_from_interaction_operator
fermionic_swap_trotter_error_operator_diagonal_two_body
ffft
gaussian_state_preparation_circuit
get_chemist_two_body_coefficients
jw_get_gaussian_state
jw_slater_determinant
lambda_norm
low_depth_second_order_trotter_error_bound
low_depth_second_order_trotter_error_operator
low_rank_two_body_decomposition
optimal_givens_decomposition
pauli_exp_to_qasm
prepare_gaussian_state
prepare_one_body_squared_evolution
prepare_slater_determinant
preprocess_lcu_coefficients_for_reversible_sampling
rot11
rot111
simulate_trotter
simulation_ordered_grouped_hubbard_terms_with_info
simulation_ordered_grouped_low_depth_terms_with_info
slater_determinant_preparation_circuit
split_operator_trotter_error_operator_diagonal_two_body
stagger_with_info
state_swap_eigen_component
sum_of_interaction_operator_gate_generators
swap_network
trotter_operator_grouping
trotter_steps_required
trotterize_exp_qubop_to_qasm
uccsd_convert_amplitude_format
uccsd_generator
uccsd_singlet_generator
uccsd_singlet_get_packed_amplitudes
uccsd_singlet_paramsize
vpe_circuits_single_timestep
vpe_single_circuit
gates
Overview
common_gates
Overview
fermionic_simulation
Overview
four_qubit_gates
Overview
three_qubit_gates
Overview
lcu_util
Overview
low_rank
Overview
primitives
Overview
state_preparation
Overview
slater_determinants
Overview
trotter
Overview
algorithms
Overview
linear_swap_network
Overview
AsymmetricLinearSwapNetworkTrotterStep
ControlledAsymmetricLinearSwapNetworkTrotterStep
ControlledSymmetricLinearSwapNetworkTrotterStep
SymmetricLinearSwapNetworkTrotterStep
low_rank
Overview
AsymmetricLowRankTrotterStep
ControlledAsymmetricLowRankTrotterStep
LowRankTrotterStep
split_operator
Overview
diagonal_coulomb_trotter_error
Overview
hubbard_trotter_error
Overview
low_depth_trotter_error
Overview
ordered_low_depth_terms_no_info
trotter_algorithm
Overview
Hamiltonian
trotter_error
Overview
ceil
commutator
sqrt
trivially_commutes
trivially_double_commutes
trotter_exp_to_qgates
Overview
unitary_cc
Overview
vpe_circuits
Overview
openfermion.config
Overview
openfermion.contextuality
Overview
is_contextual
openfermion.contrib
Overview
representability
Overview
openfermion.functionals
Overview
get_one_norm_int
get_one_norm_int_woconst
get_one_norm_mol
get_one_norm_mol_woconst
get_one_norm
Overview
openfermion.hamiltonians
Overview
FermiHubbardModel
HartreeFockFunctional
RichardsonGaudin
bose_hubbard
dual_basis_external_potential
dual_basis_jellium_model
dual_basis_kinetic
dual_basis_potential
fermi_hubbard
generate_hamiltonian
get_matrix_of_eigs
hartree_fock_state_jellium
hypercube_grid_with_given_wigner_seitz_radius_and_filling
interaction_operator
jellium_model
jordan_wigner_dual_basis_hamiltonian
jordan_wigner_dual_basis_jellium
lowest_single_particle_energy_states
majorana_operator
mean_field_dwave
number_difference_operator
number_operator
plane_wave_external_potential
plane_wave_hamiltonian
plane_wave_kinetic
plane_wave_potential
rhf_func_generator
rhf_minimization
rhf_params_to_matrix
s_plus_operator
s_squared_operator
sx_operator
sy_operator
sz_operator
tunneling_operator
wigner_seitz_length_scale
general_hubbard
Overview
InteractionParameter
PotentialParameter
TunnelingParameter
number_operator
hartree_fock
Overview
InputError
hubbard
Overview
jellium
Overview
jellium_hf_state
Overview
richardson_gaudin
Overview
special_operators
Overview
s_minus_operator
openfermion.linalg
Overview
Davidson
DavidsonError
DavidsonOptions
LinearQubitOperator
LinearQubitOperatorOptions
ParallelLinearQubitOperator
QubitDavidson
SparseDavidson
append_random_vectors
boson_ladder_sparse
boson_operator_sparse
double_givens_rotate
eigenspectrum
erpa_eom_hamiltonian
expectation
expectation_computational_basis_state
expectation_db_operator_with_pw_basis_state
expectation_one_body_db_operator_computational_basis_state
expectation_three_body_db_operator_computational_basis_state
expectation_two_body_db_operator_computational_basis_state
fermionic_gaussian_decomposition
fit_known_frequencies
generate_linear_qubit_operator
generate_parity_permutations
generate_random_vectors
get_density_matrix
get_gap
get_ground_state
get_linear_qubit_operator_diagonal
get_number_preserving_sparse_operator
get_sparse_operator
givens_decomposition
givens_decomposition_square
givens_matrix_elements
givens_rotate
inner_product
jordan_wigner_ladder_sparse
jordan_wigner_sparse
jw_configuration_state
jw_get_ground_state_at_particle_number
jw_hartree_fock_state
jw_number_indices
jw_number_restrict_operator
jw_number_restrict_state
jw_sparse_givens_rotation
jw_sparse_particle_hole_transformation_last_mode
jw_sz_indices
jw_sz_restrict_operator
jw_sz_restrict_state
kronecker_operators
orthonormalize
prony
qubit_operator_sparse
single_quad_op_sparse
singlet_erpa
sparse_eigenspectrum
swap_columns
swap_rows
valdemoro_reconstruction
variance
wedge
wrapped_kronecker
davidson
Overview
erpa
Overview
einsum
givens_rotations
Overview
linear_qubit_operator
Overview
apply_operator
rdm_reconstruction
Overview
sparse_tools
Overview
reduce
wave_fitting
Overview
wedge_product
Overview
factorial
openfermion.measurements
Overview
PhaseFitEstimator
apply_constraints
binary_partition_iterator
constraint_matrix
get_interaction_rdm
get_phase_function
group_into_tensor_product_basis_sets
linearize_term
one_body_fermion_constraints
operator_to_vector
pair_between
pair_within
pair_within_simultaneously
pair_within_simultaneously_binned
pair_within_simultaneously_symmetric
partition_iterator
pauli_string_iterator
two_body_fermion_constraints
unlinearize_term
vector_to_operator
equality_constraint_projection
Overview
fermion_partitioning
Overview
qubit_partitioning
Overview
rdm_equality_constraints
Overview
vpe_estimators
Overview
openfermion.ops
Overview
BinaryCode
BinaryCodeError
BinaryPolynomial
BinaryPolynomialError
BosonOperator
DOCIHamiltonian
DiagonalCoulombHamiltonian
FermionOperator
InteractionOperator
InteractionOperatorError
InteractionRDM
InteractionRDMError
IsingOperator
MajoranaOperator
PolynomialTensor
PolynomialTensorError
QuadOperator
QuadraticHamiltonian
QuadraticHamiltonianError
QubitOperator
SymbolicOperator
antisymmetric_canonical_form
double_decoding
general_basis_change
shift_decoder
operators
Overview
binary_sum_rule
binary_code
Overview
binary_polynomial
Overview
boson_operator
Overview
fermion_operator
Overview
ising_operator
Overview
majorana_operator
Overview
quad_operator
Overview
qubit_operator
Overview
symbolic_operator
Overview
representations
Overview
get_active_space_integrals
get_tensors_from_integrals
diagonal_coulomb_hamiltonian
Overview
doci_hamiltonian
Overview
get_doci_from_integrals
get_projected_integrals_from_doci
get_tensors_from_doci
interaction_operator
Overview
interaction_rdm
Overview
polynomial_tensor
Overview
quadratic_hamiltonian
Overview
openfermion.testing
Overview
EqualsTester
assert_equivalent_repr
assert_implements_consistent_protocols
haar_random_vector
module_importable
random_antisymmetric_matrix
random_diagonal_coulomb_hamiltonian
random_hermitian_matrix
random_interaction_operator
random_interaction_operator_term
random_quadratic_hamiltonian
random_qubit_operator
random_unitary_matrix
validate_trotterized_evolution
circuit_validation
Overview
random
Overview
testing_utils
Overview
wrapped
Overview
openfermion.transforms
Overview
FenwickNode
FenwickTree
StabilizerError
binary_code_transform