mag4.magnon.tc

Critical temperature (mean-field and Tyablikov RPA) from J(q).

Functions

compute_tc(evals, S, lam0)

Mean-field and Luttinger–Tisza Tyablikov RPA critical temperature.

compute_tc_lswt(bond_data, S, ordering_lt, ...)

Method-2 T_c, chosen based on q₀.

mag4.magnon.tc.compute_tc(evals, S, lam0)[source]

Mean-field and Luttinger–Tisza Tyablikov RPA critical temperature.

Both estimates use the Hermitian J(q) eigenvalue spectrum sampled on the BZ grid.

Returns a dict with keys Tc_MF, Tc_RPA, note.

Return type:

Dict

mag4.magnon.tc.compute_tc_lswt(bond_data, S, ordering_lt, q_cart, evals_lt)[source]

Method-2 T_c, chosen based on q₀.

Return type:

Dict

Parameters:
q₀ ≈ Γ (FM / type-I AFM)

LSWT is exact in the primitive cell. Build \(D^{ord}\) with \(s_α = \mathrm{sign}(v_α)\) and apply the Tyablikov RPA to the acoustic (lowest) magnon branch:

k_B T_c^{LSWT-RPA} = (S+1)/(3S) / ⟨1/ω_0(q)⟩_{ω_0 > 0}
q₀ ≠ Γ (commensurate or incommensurate ordering)

\(D^{ord}\) in the primitive cell has negative eigenvalues because \(s_α = \mathrm{sign}(\cos 2π q₀·r_α)\) is not the exact collinear ground state for q₀ ≠ Γ. Use the LT acoustic-branch RPA — Tyablikov RPA applied to λ_min(q) directly:

k_B T_c^{LT-ac-RPA} = (S+1)/(3S) / ⟨1/(λ_min(q₀) − λ_min(q))⟩_{q ≠ q₀}