ham_ez
Syntax

Electron Zeeman Hamiltonian, electron magnetic dipole moment.

H = ham_ez(Sys, B)
H = ham_ez(Sys, B, idx)
H = ham_ez(Sys, B, idx, 'sparse')
[mux, muy, muz] = ham_ez(Sys)
[mux, muy, muz] = ham_ez(Sys, idx)
[mux, muy, muz] = ham_ez(Sys, idx, 'sparse')
Description

ham_ez calculates the matrix representing the electron Zeeman Hamiltonian (in units of MHz) for the spin system given in Sys.

Sys is a spin system structure.

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 spin. If idx is omitted, all electron spins are included in the operators.

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 three electron spin magnetic dipole moment component operators mux, muy and muz, defined along the principal axes of the molecular frame. They are in units of MHz/mT. The complete electron Zeeman Hamiltonian is obtained via H = -(mux*B(1)+muy*B(2)+muz*B(3)).

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

Examples

For the spin system

ABC = struct('S',1/2,'g',[2.1 2.1 2],'Nucs','14N','A',[1 1 1]);

the electron Zeeman Hamiltonian for a given magnetic field along the molecular x axis is

B = [340;0;0];
H = ham_ez(ABC,B)
H =
 1.0e+03 *
       0         0         0    4.9967         0         0
       0         0         0         0    4.9967         0
       0         0         0         0         0    4.9967
  4.9967         0         0         0         0         0
       0    4.9967         0         0         0         0
       0         0    4.9967         0         0         0
See also

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