Determines point group symmetry of a spin system.
PointGroup = hamsymm(SpinSystem) [PointGroup,RMatrix] = hamsymm(SpinSystem)
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.
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
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.