### Syntax

`M = moment(obj,Name,Value)`

### Description

`M = moment(obj,Name,Value)`

calculates the spin expectation value
including the leading quantum and thermal fluctuations (\(S^{-1}\) terms).
The magnon poulation is calculated at a given temperature \(T\) integrated
over the Brillouin zone. To calculate the numerical integral the
Brillouin zone is sampled using Monte Carlo technique.

### Example

#### Triangular lattice antiferromagnet

The example calculates the spin expectation value at zero temperature on the triangular lattice Heisenberg antiferromagnet. The result can be compared with the following calculations: A. V Chubukov, S. Sachdev, and T. Senthil, J. Phys. Condens. Matter 6, 8891 (1994): \(\langle S \rangle = S - 0.261\) and S. J. Miyake, J. Phys. Soc. Japan 61, 983 (1992): \(\langle S \rangle = S - 0.2613 + 0.0055/S\) (\(1/S\) is a higher order term neglected here).

```
tri = sw_model('triAF',1)
M = tri.moment('nRand',1e7)
dS = 1-M.moment
```

*Output*

```
dS =
0.2612
```

#### Square lattice antiferromagnet

The reduced moment of the Heisenberg square lattice antiferromagnet at zero temperature can be compared to the published result of D. A. Huse, Phys. Rev. B 37, 2380 (1988) \(\langle S \rangle = S - 0.197\).

```
sq = sw_model('squareAF',1)
M = sq.moment('nRand',1e7)
dS = 1-M.moment
```

*Output*

```
dS =
0.1966 0.1966 0.1966 0.1966
```

### Input Arguments

`obj`

- spinw object.

### Name-Value Pair Arguments

`'nRand'`

- The number of random \(Q\) points in the Brillouin-zone, default value is 1000.
`'T'`

- Temperature, default value is taken from
`obj.single_ion.T`

and the unit is stored in spinw.unit with the default being K. `'tol'`

- Tolerance of the incommensurability of the magnetic propagation wavevector. Deviations from integer values of the propagation vector smaller than the tolerance are considered to be commensurate. Default value is \(10^{-4}\).
`'omega_tol'`

- Tolerance on the energy difference of degenerate modes when diagonalising the quadratic form, default value is \(10^{-5}\).
`'fid'`

- Defines whether to provide text output. The default value is determined
by the
`fid`

preference stored in swpref. The possible values are:`0`

No text output is generated.`1`

Text output in the MATLAB Command Window.`fid`

File ID provided by the`fopen`

command, the output is written into the opened file stream.

### Output Arguments

`M`

- structure, with the following fields:
`moment`

Size of the reduced moments in a row vector with \(n_{magExt}\) number of elements.`T`

Temperature.`nRand`

Number of random \(Q\) points.`obj`

The clone of the input`obj`

.

### See Also

spinw | spinw.spinwave | spinw.genmagstr | spinw.temperature