BogoliubovTransform#
- class BogoliubovTransform(transformation_matrix, qubit_mapper=None, *, validate=True, rtol=1e-05, atol=1e-08, **circuit_kwargs)[fuente]#
Bases:
QuantumCircuit
A circuit that performs a Bogoliubov transform.
A Bogoliubov transform effects a unitary basis change that maps the fermionic ladder operators to a new set of ladder operators that also satisfy the fermionic anticommutation relations. That is, it effects a unitary
such thatwhere the
are the original fermionic creation operators and the are the new fermionic creation operators. The new creation operators are linear combinations of the original ladder operators, and the coefficients of the linear combinations are specified by a matrix which determines the unitary . The matrix is either or .If
is , then the linear combinations involve only the original creation operators:If
is , then the linear combinations involve both the original creation and annihilation operators:The matrix
is commonly obtained by calling thediagonalizing_bogoliubov_transform()
method of theQuadraticHamiltonian
class.Currently, only the Jordan-Wigner Transformation is supported.
Referencias
- Parámetros:
transformation_matrix (np.ndarray) – The matrix
that specifies the coefficients of the new creation operators in terms of the original creation operators. Should be either or .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 orthonormal rows.ValueError –
transformation_matrix
does not describe a valid transformation of fermionic ladder operators. If the transformation matrix is , then it should be unitary. If the transformation matrix is , then it should have 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