hamsymm

Determines point group symmetry of a spin system.

Syntax
PointGroup = hamsymm(SpinSystem)
[PointGroup,RMatrix] = hamsymm(SpinSystem)
Description

This function determines the point group symmetry of the spin system given in Spinsystem (more correctly, of its Hamiltonian's eigenvalues) and returns its Schönflies symbol in PointGroup and the orientation of the principal axes system in RMatrix.

The point group symmetry of a spin system is depending on the behaviour of its energy eigenvalues when the orientation of the system with respect to an external magnetic field is changed.

Since the spin Hamiltonian used in EasySpin is always time-invariant, its eigenvalues do not change when the magnetic field is inverted. Consequently, only the 13 centrosymmetric point groups Ci, C2h, D2h, C4h, D4h, S6, D3d, C6h, D6h, Th, Oh, Dinfh and O3 are possible.

The most common symmetry groups of these are O3 (isotropic), Dinfh (axial), D2h (orthorhombic), C2h and Ci.

RMatrix describes the orientation of the symmetry frame axes in the molecular frame of the spin system. RMatrix(:,1) is the x axis of the symmetry frame, RMatrix(:,2) the y axis, and RMatrix(:,3) the z axis, which is by definition the axis with the highest rotational symmetry.

Examples

A simple system with aligned rhombic interaction matrices has D2h symmetry

Sy = struct('S',1/2,'Nucs','1H','g',[2.3 2.1 2]);
Sy.A = [100 150 200];
[Gr,R] = hamsymm(Sy); Gr
Gr =
  D2h

If the rhombic A matrix is tilted with respect to the g matrix, the symmetry reduces to Ci.

Sy.AFrame = [10 20 30]*pi/180;
[Gr,R] = hamsymm(Sy); Gr
Gr =
  Ci
Algorithm

If no high-order terms are present in the spin system, hamsymm determines the symmetry of all tensors and interaction matrices and uses simple geometrical comparisons to determine the total symmetry.

Otherwise, the symmetry of the spin Hamiltonian is determined by diagonalizing it for a few selected orientations and by comparing the resulting sets of eigenvalues.

See also

ham, sphgrid