hqs_nmr.solver.implementations.nmr_solver
Different solvers to evaluate individual spectral contributions of a NMR Spin Hamiltonian.
Functions
|
Calculate a NMR spectrum exploiting Sz conservation given a SpinHamiltonianSystem. |
|
Calculate a NMR spectrum using Sz and local SU2 conservation given a SpinHamiltonianSystem. |
- hqs_nmr.solver.implementations.nmr_solver.nmr_solver(hamiltonian: SpinHamiltonianSystem, gyromagnetic_ratios: np.ndarray, omegas: np.ndarray, eta: float, spin_contributions: list[int], solver_settings: NMRSolverSettings, **kwargs: dict[str, Any]) np.ndarray
Calculate a NMR spectrum exploiting Sz conservation given a SpinHamiltonianSystem.
Evaluates a correlator function of the form: .. math:: sum_n frac{bra{n} I^+_l ket{m} bra{m} I^- ket{n}}{omega + E_n - E_m + i eta} text{where} I^- = sum_l I^-_l.
- Parameters:
hamiltonian – Struqture spin Hamiltonian.
gyromagnetic_ratios – Array of the gyromagnetic factors per site.
omegas – Desired frequencies.
eta – Explicit broadening of the peaks.
spin_contributions – List of indices l of I^+_l for which to evaluate the correlator.
solver_settings – Object storing solver-specific settings.
kwargs – Catch all for general interface.
- Returns:
An array of the spectral function for the specified spin contributions at each frequency.
- Raises:
ValueError – if number of spins does not match the number of gyromagnetic factors.
- hqs_nmr.solver.implementations.nmr_solver.nmr_solver_local_su2(hamiltonian: SpinHamiltonianSystem, gyromagnetic_ratios: np.ndarray, omegas: np.ndarray, eta: float, spin_contributions: list[int], solver_settings: NMRSolverSettings, **kwargs: dict[str, Any]) np.ndarray
Calculate a NMR spectrum using Sz and local SU2 conservation given a SpinHamiltonianSystem.
Evaluates a correlator function of the form .. math:: sum_n frac{bra{n} I^+_l ket{m} bra{m} I^- ket{n}}{omega + E_n - E_m + i eta} text{where} I^- = sum_l I^-_l.
- Parameters:
hamiltonian – Struqture spin Hamiltonian.
gyromagnetic_ratios – Array of the gyromagnetic factors per site.
omegas – Desired frequencies.
eta – Explicit broadening of the peaks.
spin_contributions – List of indices for which to evaluate the correlator.
solver_settings – Object storing solver-specific settings.
kwargs – Catch all for general interface.
- Returns:
An array with the correlator function for the specified spin contributions at each frequency.
- Raises:
ValueError – if number of spins does not match the number of gyromagnetic factors.