ham_ezho
Syntax

Higher-order electron Zeeman Hamiltonian, electron magnetic dipole moment.

H = ham_ezho(Sys, B)
H = ham_ezho(Sys, B, idx)
H = ham_ezho(Sys, B, idx, 'sparse')
H = ham_ezho(Sys, B, idx, 'sparse', lB)
[G0, G1, G2, G3] = ham_ezho(Sys)
[G0,...] = ham_ezho(Sys, idx)
[G0,...] = ham_ezho(Sys, idx, 'sparse')
GlB = ham_ezho(Sys, idx, 'sparse', lB)
cG = ham_ezho(Sys)
cG = ham_ezho(Sys, idx, 'sparse', lB)

Description

ham_ezho calculates the matrix representing the multiple-order electron Zeeman interaction Hamiltonian (in units of MHz) for the spin system given in Sys.

Sys is a spin system structure. ham_ezho utilizes fields in Sys of the form Sys.Ham112, where the three digits indicate the field order lB, the spin order lS, and the total order l, respectively. For example, Sys.Ham335 indicates lB=3, lS=3 and l=5. lB+lS ahs to be even due to the time inversion symmetry of the Hamiltonian. The possible values for l run from |lB-lS| to lB+lS. Each Ham> should contain 2*l+1 elements, e.g. 11 for l=5. The results returned with field orders zero (lB=0) and one (lB=1) are equivalent to the zero-field interaction (obtainable also with ham_zf) and the standard electron Zeeman interaction (obtainable also with ham_ez). The unit of a field is assumed to be MHz/mTlB.

B is a 3-element magnetic field vector (in mT). If given, the complete electron Zeeman Hamiltonian is returned. B is understood to be in the molecular frame, for example [0 0 340] indicates a field along the molecular z axis.

If B is omitted, the function returns the components of the multiple-order electron Zeeman interaction Hamiltonian, defined by the nth order derivative. Gn contain (d^n/dB^n) H, a tensor of rank n. They are in units of MHz/(mT)^n.

idx is a number or array that indicates which electron spins should be included. For example, 1 indicates the first electron spin, and [2 3] indicates the second and third electron spins. If idx is omitted, all electron spins are included in the operators.

If 'sparse' is given as argument, results are returned in sparse format instead of full format.

If only terms of order lB in the magnetic field are required, a scalar/vector fourth argument can be supplied.

The Gn can also be returned as a cell array, cG.

Examples

To specify the common Zeeman term that is linear in the magnetic field (lB=1), use

Sys.S = 5/2;
Sys.Ham110 = rand;       % MHz/mT; (lB,lS,l) = (1,1,0)
Sys.Ham112 = rand(1,5);  % MHz/mT; (lB,lS,l) = (1,1,2)

This is equivalent to using ham_ez.

References
See also

ham, ham_cf, ham_ee, ham_ez, ham_hf, ham_nn, ham_nq, ham_nz, ham_oz, ham_so, ham_zf