


calculates symbolic spin wave dispersion
spectra = SPINWAVESYM(obj, 'option1', value1 ...)
Symbolic spin wave dispersion is calculated as a function of reciprocal
space points. The function can deal with arbitrary magnetic structure and
magnetic interactions as well as single ion anisotropy and magnetic
field.
If the magnetic ordering wavevector is non-integer, the dispersion is
calculated using a coordinate system rotating from cell to cell. In this
case the Hamiltonian has to fulfill this extra rotational symmetry.
The method works for incommensurate structures, however the calculated
omega dispersion does not contain the omega(k+/-km) terms that has to be
added manually.
The method for matrix diagonalization is according to R.M. White, PR 139
(1965) A450. The non-Hermitian g*H matrix will be diagonalised.
Input:
obj Input structure, sw class object.
Options:
hkl Symbolic definition of q vector. Default is the general Q
point:
hkl = [sym('h') sym('k') sym('l')]
eig If true the symbolic Hamiltonian is diagonalised. For large
matrices (many magnetic atom per unit cell) this might be
impossible. Set 'eig' to false to output only the quadratic
Hamiltonian. Default is true.
tol Tolerance of the incommensurability of the magnetic
ordering wavevector. Deviations from integer values of the
ordering wavevector smaller than the tolerance are
considered to be commensurate. Default value is 1e-4.
norm Whether to produce the normalized eigenvectors. It can be
impossible for large matrices, in that case set it to
false. Default is true.
title Gives a title string to the simulation that is saved in the
output.