magnopy.converter22.to_iso#
- magnopy.converter22.to_iso(parameter, matrix_form=False)[source]#
Extracts isotropic part of the full matrix parameter.
\[C_{2,2} \boldsymbol{S}_{\mu} \boldsymbol{J} \boldsymbol{S}_{\nu} = C_{2,2} J_{iso} \boldsymbol{S}_{\mu} \cdot \boldsymbol{S}_{\nu} + C_{2,2} \boldsymbol{S}_{\mu} \boldsymbol{J}_S \boldsymbol{S}_{\nu} + C_{2,2} \boldsymbol{D} \cdot \left( \boldsymbol{S}_{\mu} \times \boldsymbol{S}_{\nu} \right)\]where \(J_{iso}\) is defined as
\[J_{iso} = \dfrac{tr(\boldsymbol{J})}{3}\]This term can be written in the matrix form as
\[\begin{split}C_{2,2} J_{iso} \boldsymbol{S}_{\mu} \cdot \boldsymbol{S}_{\nu} &= C_{2,2} \boldsymbol{S}_{\mu} \boldsymbol{J}_{iso} \boldsymbol{S}_{\nu} \\ \boldsymbol{J}_{iso} &= \begin{pmatrix} J_{iso} & 0 & 0 \\ 0 & J_{iso} & 0 \\ 0 & 0 & J_{iso} \\ \end{pmatrix}\end{split}\]- Parameters:
- parameter(3, 3) array-like
Full matrix of the exchange parameter (\(\boldsymbol{J}\)).
- matrix_formbool, default False
Whether to return isotropic part of the matrix instead of isotropic parameter.
- Returns:
- isofloat or (3, 3) numpy.ndarray
Isotropic parameter.
If
matrix_form == False, then returns a number \(J_{iso}\).If
matrix_form == True, then returns a matrix \(\boldsymbol{J}_{iso}\).
See also
Examples
>>> from magnopy import converter22 >>> matrix = [[1, 3, 4], [-1, -2, 3], [4, 0, 10]] >>> converter22.to_iso(matrix) 3.0 >>> converter22.to_iso(matrix, matrix_form=True) array([[3., 0., 0.], [0., 3., 0.], [0., 0., 3.]])