FermionicGaussianState#
- class FermionicGaussianState(transformation_matrix, occupied_orbitals=None, qubit_mapper=None, *, validate=True, rtol=1e-05, atol=1e-08, **circuit_kwargs)[fuente]#
Bases:
QuantumCircuit
A circuit that prepares a fermionic Gaussian state.
A fermionic Gaussian state is a state of the form
where
are the fermionic creation operators. is an matrix such that also satisfy the fermionic anticommutation relations. is the mutual 0-eigenvector of the operators .
The matrix
has the block formwhere
and must satisfyThe matrix
is commonly obtained by calling thediagonalizing_bogoliubov_transform()
method of theQuadraticHamiltonian
class. This matrix is used to create circuits that prepare eigenstates of the quadratic Hamiltonian.Currently, only the Jordan-Wigner transformation is supported.
Reference: arXiv:1711.05395
- Parámetros:
transformation_matrix (np.ndarray) – The matrix
that specifies the coefficients of the new creation operators in terms of the original creation and annihilation operators. This matrix must satisfy special constraints, as detailed above.occupied_orbitals (Sequence[int] | None) – The pseudo-particle orbitals to fill. These refer to the indices of the operators
from the main body of the docstring of this function. The default behavior is to use the empty set of orbitals, which corresponds to a state with zero pseudo-particles.qubit_mapper (QubitMapper | None) – The
QubitMapper
. The default behavior is to create one using the callJordanWignerMapper()
.validate (bool) – Whether to validate the inputs.
rtol (float) – Relative numerical tolerance for input validation.
atol (float) – Absolute numerical tolerance for input validation.
circuit_kwargs – Keyword arguments to pass to the
QuantumCircuit
initializer.
- Muestra:
ValueError – transformation_matrix must be a 2-dimensional array.
ValueError – transformation_matrix must have shape
(n_orbitals, 2 * n_orbitals)
.ValueError – transformation_matrix does not describe a valid transformation of fermionic ladder operators. A valid matrix has the block form
where and .NotImplementedError – Currently, only the Jordan-Wigner Transform is supported. Please use the
qiskit_nature.second_q.mappers.JordanWignerMapper
.
Attributes
Methods