qat.fermion
qat.fermion
module aims at providing tools for describing and solving spin and fermionic problems.
The code of qat.fermion
is open-source and part of the myQLM suite. The source code can be found here.
Hamiltonians constructors
To help you write your own Hamiltonian for various spin and fermionic systems, we provide various Hamiltonian classes.
Electronic structure hamiltonian constructor |
|
Fermionic hamiltonian constructor |
|
Spin hamiltonian constructor |
Common many-body Hamiltonians
Some of the most common models have their own Hamiltonian generators.
The single-impurity Anderson Model |
|
The generalized impurity Hamiltonian |
|
Hubbard model hamiltonian |
The spin-fermion transforms
Various fermionic-to-spin transforms are provided.
Fermionic to spin using Bravyi-Kitaev encoding |
|
Fermionic to spin using Jordan-Wigner encoding |
|
Fermionic to spin using parity encoding |
Fermionic ansatz circuits
We provide various common ansatz generators.
Constructs a compressed version of the LDCA ansatz circuit (only for Qaptiva™ users) |
|
Constructs a hardware efficient ansatz |
|
Constructs a LDCA circuit |
|
Constructs a small one-parameter Multi-Reference (MR) circuit on 4 qubits |
|
Constructs the 8-qubit Multi-Reference Excitation Preserving (MREP) ansatz |
|
Constructs the 8-parameter circuit proposed in Keen et al. article (2019) |
Atomic and molecular studies
We provide helper classes aimed at automating various aspects of atomic and molecular studies.
Molecular hamiltonian helper class |
|
Helper class for handling molecular systems computations |
Unitary Coupled-Cluster (UCC)
We provide various tools specific to UCC.
Restrict one- and two-body integrals for given list of active indices |
|
Builds the parametric state preparation circuit implementing the provided cluster operator |
|
Converts one and two-body integrals to electronic structure hamiltonian terms |
|
Compute the cluster operators |
|
Get Hartree-Fock state stored as a vector with right-to-left orbitals indexing |
|
Find initial parameters using Møller-Plesset perturbation theory |
|
Selects the right active space and freezes core electrons according to their natural orbitals occupation numbers |
|
|
Change one and two-body integrals to new basis |
Quantum subspace expansion
An implementation of the quantum subspace expansion is available.
|
Apply quantum subspace expansion to a given Hamiltonian |
Quantum phase estimation
An implementation of the quantum phase estimation algorithm is available.
Perform quantum phase estimation on an |
Utility functions
Two utility functions may be used to speed up your own implementations.
Trotterizes (first order) the evolution operator of a Hamiltonian |
|
|
Helper function to perform various calculations using PySCF |