You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Slater determinants and fermionic Gaussian states are important classes of initial states for quantum simulations which can be efficiently prepared on a quantum computer [1]. Qiskit Nature should include routines to generate circuits to prepare these states. Efficient algorithms to prepare these states are described in arxiv:1711.05395, and these are already implemented in OpenFermion. I can contribute these routines to Qiskit Nature. Note that these algorithms assume the Jordan-Wigner Transformation is used to map fermions to qubits.
Implementation details
Qiskit Nature already has routines in the qiskit_nature.circuit.library module to prepare initial states, such as the HartreeFock class which prepares computational basis states. The new functionality should be implemented by adding new classes SlaterDeterminant and FermionicGaussianState to this module. My current plan for these classes is to have them called like this:
In both cases, each row of transformation_matrix contains the coefficients of a transformed creation operator in terms of the original creation (and possibly annihilation) operators.
For SlaterDeterminant, the input transformation_matrix is an η x N matrix where N is the number of orbitals (qubits) and η is the number of particles.
For FermionicGaussianState, the input transformation_matrix is is either N x N or N x 2N, the latter case corresponding to when both creation and annihilation operators are mixed together, rather than only creation operators. The argument occupied orbitals is a list of integers indicating the indices of the transformed orbitals that should be occupied.
A common use case for these routines is preparing eigenstates of quadratic Hamiltonians. In addition to these routines, we will want to add functionality for representing quadratic Hamltonians and computing the transformation matrices from them, but that can be done in a separate issue.
What should we add?
Slater determinants and fermionic Gaussian states are important classes of initial states for quantum simulations which can be efficiently prepared on a quantum computer [1]. Qiskit Nature should include routines to generate circuits to prepare these states. Efficient algorithms to prepare these states are described in arxiv:1711.05395, and these are already implemented in OpenFermion. I can contribute these routines to Qiskit Nature. Note that these algorithms assume the Jordan-Wigner Transformation is used to map fermions to qubits.
Implementation details
Qiskit Nature already has routines in the
qiskit_nature.circuit.library
module to prepare initial states, such as theHartreeFock
class which prepares computational basis states. The new functionality should be implemented by adding new classesSlaterDeterminant
andFermionicGaussianState
to this module. My current plan for these classes is to have them called like this:In both cases, each row of
transformation_matrix
contains the coefficients of a transformed creation operator in terms of the original creation (and possibly annihilation) operators.For
SlaterDeterminant
, the inputtransformation_matrix
is anη x N
matrix where N is the number of orbitals (qubits) and η is the number of particles.For
FermionicGaussianState
, the inputtransformation_matrix
is is eitherN x N
orN x 2N
, the latter case corresponding to when both creation and annihilation operators are mixed together, rather than only creation operators. The argumentoccupied orbitals
is a list of integers indicating the indices of the transformed orbitals that should be occupied.A common use case for these routines is preparing eigenstates of quadratic Hamiltonians. In addition to these routines, we will want to add functionality for representing quadratic Hamltonians and computing the transformation matrices from them, but that can be done in a separate issue.
[1] https://arxiv.org/abs/cond-mat/0012334
The text was updated successfully, but these errors were encountered: