SlaterDeterminant#
- class SlaterDeterminant(transformation_matrix, qubit_mapper=None, *, validate=True, rtol=1e-05, atol=1e-08, **circuit_kwargs)[ソース]#
ベースクラス:
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