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)
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
.
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.
ham, ham_cf, ham_ee, ham_ez, ham_hf, ham_nn, ham_nq, ham_nz, ham_oz, ham_so, ham_zf