Spin Susceptibility

In ed_chi_spin we evaluate the impurity spin-spin susceptibility, defined as:

\[\chi^{z}_{ab}(\omega) = \langle S^z_a(\omega) S^z_b(\omega) \rangle = \frac{1}{\cal Z}\sum_n e^{-\beta E_n} \langle n | S^z_a [\omega-H]^{-1} S^z_b | n \rangle\]

where \(S^z_a\) is the z-component of the spin operator of the orbital \(a\) and \(\omega \in {\mathbb C}\). As for the Green's functions, the susceptibility is evaluated using the dynamical Lanczos method: a) the partial tridiagonalization of the sector Hamiltonian \(H\) with quantum numbers \(\vec{Q}=[\vec{N}_\uparrow,\vec{N}_\downarrow]\) on the Krylov basis of \(S^z_a|n\rangle\) is obtained; b) the resulting tridiagonal matrix is further diagonalized to obtained excitations amplitudes or weights \(\langle m | S^z_a | n \rangle\) for any state \(| m \rangle\) in the spectrum (without knowing the state itself ) and the excitations energies \(\delta E = E_m - E_n\) or poles; c) an controlled approximation to the Kallen-Lehmann sum is constructed for \(a,b=1,\dots,N_{\rm orb}\).

Note

A more general susceptibility function for the other components of the spin operators \(S_x, S_y\) should be implemented.

Description

Evaluates the impurity spin-spin susceptibility.

Quick access

Routines:

build_spinchi_normal(), get_spinchi_normal()

Used modules

  • ed_input_vars: User-accessible input variables

  • ed_vars_global: Global variable accessible throughout the code

  • ed_aux_funx: Assortment of auxiliary procedures required throughout the code

  • ed_eigenspace: Data types for the eigenspace

  • ed_bath: Routines for bath creation and manipulation

  • ed_setup: Routines for solver environment initialization and finalization

  • ed_sector: Routines for Fock space sectors creation and manipulation

  • ed_hamiltonian_normal: Routines for Hamiltonian construction, NORMAL case

External modules

Subroutines and functions

subroutine  ed_chi_spin/build_spinchi_normal()

Evaluates the impurity Spin susceptibility \(\chi^z=\langle T_\tau S^z_a(\tau) S^z_b\rangle\) in the Matsubara \(i\omega_n\) and Real \(\omega\) frequency axis as well as imaginary time \(\tau\). As for the Green's function, the off-diagonal component of the the susceptibility is determined using an algebraic manipulation to ensure use of Hermitian operator in the dynamical Lanczos.

Use :

ed_input_vars (nspin, norb)

function  ed_chi_spin/get_spinchi_normal(zeta[, axis])

Reconstructs the system impurity electrons Green's functions using impgmatrix to retrieve weights and poles.

Parameters:

zeta (•) [complex, in] – Array of frequencies or imaginary times

Options:

axis [character(len=*)] – Axis: can be m for Matsubara, r for real, t for imaginary time

Result:

chi (norb, norb, size(zeta)) [complex] – Spin susceptibility matrix

Use :

ed_input_vars (nspin, norb)