hqs_spin_mapper.schrieffer_wolff
Module containing the Schrieffer-Wolff transformation functionality in Python.
Functions
|
Interface function for the Schrieffer-Wolff transformation functionality. |
- hqs_spin_mapper.schrieffer_wolff.schrieffer_wolff(transformable_system: Supports_SW_Transformation, number_bath_operators_for_contraction: int = 1, _vector_space_cap: int = 1500000, _max_krylov_space_dimension: int = 200, rdm1_uu: ndarray | None = None, rdm1_dd: ndarray | None = None, rdm1_ud: ndarray | None = None) None [source]
Interface function for the Schrieffer-Wolff transformation functionality.
The function takes the tensor description of the Hamiltonian and interfaces with a C++ code that turns this description into a Fermions.ExpressionSpinful and then proceeds to perform a Schrieffer-Wolff transformation. The computed generator can be used to transform potential remaining terms of the original Hamiltonian.
- Parameters:
transformable_system (Supports_SW_Transformation) – Container object for the system data
number_bath_operators_for_contraction (int) – Number of contractions to be performed
_vector_space_cap (int) – Limit for the size of the vector space
_sv_cutoff (float) – Relative cutoff for the singular values
_max_krylov_space_dimension (int) – Maximum size of the Krylov subspace of the solver
rdm1_uu (Optional[np.ndarray]) – Used for 1-RDM decoupling (currently deactivated)
rdm1_dd (Optional[np.ndarray]) – Used for 1-RDM decoupling (currently deactivated)
rdm1_ud (Optional[np.ndarray]) – Used for 1-RDM decoupling (currently deactivated)
- Raises:
InsufficientProtocolError – transformable_system does not satisfy Supports_SW_Transformation
ValueError – No spin-like orbital indices were specified