[m, asym] = sw_basismat(symop, r, tol)


[m, asym] = sw_basismat(symop, r, tol) determines the allowed tensor elements compatible with a given point group symmetry. The tensor can describe exchange interaction or single ion anisotropy. The function applies the symmetry invariance of the classical energy \(\mathbf{S}_i\cdot \mathcal{M}\cdot \mathbf{S}_j\). Thus this symmetry analysis includes the transformation properties of spin operators as well.

Input Arguments

Generators of the point group symmetry, in a matrix with dimensions of \([3\times 3\times n_{sym}]\) where each symOp(:,:,ii) matrix defines a rotation.
Distance column vector between the two interacting atoms. For anisotropy \(r=0\).
Tolerance, optional, default value is \(10^{-5}\).

Output Arguments

Matrices, that span out the vector space of the symmetry allowed matrices, dimensions are \([3\times 3\times n_M]\). Any matrix is allowed that can be expressed as a linear combination of the symmetry allowed matrices.
Logical vector, for each \([3\times 3]\) matrix in \(M\), tells whether it is antisymmetric stored in a row vector with \(n_M\) elements.

See Also

spinw.getmatrix | spinw.setmatrix