SlaterDeterminant#
- class SlaterDeterminant(transformation_matrix, qubit_mapper=None, *, validate=True, rtol=1e-05, atol=1e-08, **circuit_kwargs)[source]#
Bases:
QuantumCircuit
A circuit that prepares a Slater determinant.
A Slater determinant is a state of the form
\[b^\dagger_1 \cdots b^\dagger_{N_f} \lvert \text{vac} \rangle,\]where
\[b^\dagger_j = \sum_{k = 1}^N Q_{jk} a^\dagger_k.\]\(Q\) is an \(N_f \times N\) matrix with orthonormal rows.
\(a^\dagger_1, \ldots, a^\dagger_{N}\) are the fermionic creation operators.
\(\lvert \text{vac} \rangle\) is the vacuum state. (mutual 0-eigenvector of the fermionic number operators \(\{a^\dagger_j a_j\}\))
The matrix \(Q\) can be obtained by calling the
diagonalizing_bogoliubov_transform()
method of theQuadraticHamiltonian
class when the quadratic Hamiltonian conserves particle number. 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
- প্যারামিটার:
transformation_matrix (np.ndarray) -- The matrix \(Q\) that specifies the coefficients of the new creation operators in terms of the original creation operators. The rows of the matrix must be orthonormal.
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.
- রেইজেস:
ValueError -- transformation_matrix must be a 2-dimensional array.
ValueError -- transformation_matrix must have orthonormal rows.
NotImplementedError -- Currently, only the Jordan-Wigner Transform is supported. Please use the
qiskit_nature.second_q.mappers.JordanWignerMapper
.
Attributes
Methods