mag4.magnon.dispersion

Magnon dispersion via the eigenvalues of J(q) in the primitive cell.

Functions

compute_magnon_dispersion(bond_data, kpath, ...)

Compute the magnon dispersion in the primitive cell.

mag4.magnon.dispersion.compute_magnon_dispersion(bond_data, kpath, S, ordering)[source]

Compute the magnon dispersion in the primitive cell.

\[ω_k(q) = 2S × \bigl(λ_k(J(q)) − λ_{\min}(q_0)\bigr)\]

where λ_k(J(q)) are the eigenvalues of the Hermitian exchange matrix at each k-point along the path, sorted ascending. This gives exactly n_sub branches in the primitive BZ for any ordering wavevector q₀. The Goldstone mode (ω = 0) is at k = q₀ by construction of the shift, so no supercell or spectral unfolding is needed.

Return type:

Tuple[ndarray, Dict]

Parameters: