s_operators#
Generator functions for various spin-related operators.
When dealing with non-orthonormal orbitals, you need to make sure that you include the overlap matrices when using the methods below. This ensures that the operators can resolve any spin contamination that may be present in your orbitals.
The overlap matrices that you provide have to be computed in the same basis in which the spin
operator is encoded. If you are working in the molecular orbital (MO) basis, the overlap can be
easily constructed starting from the atomic orbital (AO) overlap matrix, which can be obtained from
any standard quantum chemistry program (for example from the get_oplp() method in PySCF). This AO
overlap matrix can be transformed to the MO basis using the AO-to-MO transformation matrix,
For restricted spin orbitals (i.e.
Functions
|
Constructs the |
|
Constructs the |
|
Constructs the |
|
Constructs the |
|
Constructs the |
- s_minus_operator(num_spatial_orbitals, overlap=None)[fuente]#
Constructs the
operator.The
operator is defined as:where
denotes the overlap-matrix between the - and -spin orbitals.Nota
The overlap input to this method is related to the input of the other methods (
s_plus_operator()
,s_x_operator()
, ands_y_operator()
) by its transpose, because the following relation holds:Note that for orthonormal orbitals this overlap-matrix will become the identity matrix, simplifying the operator above to become:
S^- = sum_{i=1}^{n} hat{a}_{i+n}^{dagger} hat{a}_{i}
where,
denotes the index of the spatial orbital. Since Qiskit Nature employs the blocked spin-ordering convention, the creation operator above is applied to the -spin orbital and the annihilation operator is applied to the corresponding -spin orbital.- Parámetros:
- Devuelve:
The
operator of the requested size.- Tipo del valor devuelto:
- s_plus_operator(num_spatial_orbitals, overlap=None)[fuente]#
Constructs the
operator.The
operator is defined as:where
denotes the overlap-matrix between the - and -spin orbitals.Note that for orthonormal orbitals this overlap-matrix will become the identity matrix, simplifying the operator above to become:
where,
denotes the index of the spatial orbital. Since Qiskit Nature employs the blocked spin-ordering convention, the creation operator above is applied to the -spin orbital and the annihilation operator is applied to the corresponding -spin orbital.- Parámetros:
- Devuelve:
The
operator of the requested size.- Tipo del valor devuelto:
- s_x_operator(num_spatial_orbitals, overlap=None)[fuente]#
Constructs the
operator.The
operator is defined as:- Parámetros:
- Devuelve:
The
operator of the requested size.- Tipo del valor devuelto:
- s_y_operator(num_spatial_orbitals, overlap=None)[fuente]#
Constructs the
operator.The
operator is defined as:- Parámetros:
- Devuelve:
The
operator of the requested size.- Tipo del valor devuelto:
- s_z_operator(num_spatial_orbitals)[fuente]#
Constructs the
operator.The
operator is defined as:where,
denotes the index of the spatial orbital. Since Qiskit Nature employs the blocked spin-ordering convention, this means that the above corresponds to evaluating the number operator ( ) once on the -spin orbital and once on the -spin orbital and taking their difference.Nota
Contrary to the other methods in this module, this one does not require the inclusion of an overlap-matrix for non-orthonormal orbitals, because it does not mix the
- and -spin contributions.- Parámetros:
num_spatial_orbitals (int) – the size of the operator which to generate.
- Devuelve:
The
operator of the requested size.- Tipo del valor devuelto: