SpinW / spinw

SpinW Matlab library for spin wave calculation
http://www.spinw.org
GNU General Public License v3.0
35 stars 15 forks source link

General 4th order term #197

Closed mkmk0324 closed 1 month ago

mkmk0324 commented 2 months ago

In #95 and #152 you explain how to write interactions using the biquadratic form, is it possible to extend the input to a more general form?

i.e.,

\sum_{i,j}({\bf S}_iA_i{\bf S}_i)({\bf S}_jB_j{\bf S}_j)

Is it possible to add a 4th order term of the form?

mducle commented 1 month ago

@mkmk0324 I think equations of this form is not possible with linear spin wave theory as implemented in SpinW - because we have to write the Hamiltonian in terms of the boson operators and we can only include terms which are quadratic in sites i and j in these operators. The reason that the (Si.Sj)^2 term works is because it involves only the on-diagonal terms which mostly yields quadratic terms or terms which are of the form (ai.ai^dagger)(aj.aj^dagger) which are just constants - there are also some quartic and higher order cross-terms (ai.aj.ai.aj etc) which end up being ignored in the linear approximation. In your case, I think the off-diagonal terms will only involve terms higher order in the boson operators which we cannot express in linear spin wave theory.

If you need to use these Hamiltonian terms I think you have to use a different code such as Sunny which uses a generalisation of spin wave theory as its formulism, or an RPA code such as McPhase.

mkmk0324 commented 1 month ago

Thank you for your answer. I see that the category of SpinW only has quadratic formulas with diagonal terms. Thank you again for your very clear answer. I will study Sunny and Mcphase as well.