Spherical Tensor Notation

Note

Currently, only a minimal documentation on spherical tensor notation and utilization in SimOS is available. We are working on a more extensive version! Thank you for your patience.

Hamiltonian operators can be formulated in spherical tensor notation, i.e. as products of spatial tensors \(A_{l,k}\) and spin tensor operators \(\hat{T}_{l,k}\) of well-defined rank \(l\) :

\[\hat{H} = \sum_l \sum_{k=-1}^l (-1)^k A_{l,k} \hat{T}_{l,k}.\]

This notation is especially popular in modern solid-state NMR spectroscopy as it allows to assess the effects of rotational dynamics in classical and spin space (i.e. magic-angle spinning or rf irradiation) and resulting resonance conditions with relative ease. For an extensive discussion of spherical tensor operator formalism and applications in ss-NMR, we refer our users to standard NMR literature.

SimOS core functionality does not utilize the spherical tensor formalism, however we provide a series of functions that facilitate usage of this notation.

Spatial Tensors

The spatial component of common Hamiltonian operators of spin-systems are 3x3 matrices and thus cartesian second-rank spatial tensors. The methods mat2spher() and spher2mat() allow to transform 3x3 matrices into spherical tensor notation and vice-versa.

Spin-Tensor Operators

The method spherspin() returns the spin tensor operators for a given spin member of a quantum system while the spherbasis() constructs a complete spin tensor operator basis for a given spin system.

Syntax Reference

mat2spher(mat)[source]

Transforms a 3x3 matrix into a spherical tensor (ranks 0,1,2).

Parameters:

mat – 3x3 matrix

Returns dict:

Spherical tensor representation of input matrix as a dictionary with keys 0, 1, 2 for the tensor ranks.

spher2mat(spher, selrank=[0, 1, 2])[source]

Transforms a spherical tensor (max. rank 2) into a 3x3 matrix.

Parameters:

spher – Dictionary representing a spherical tensor.

Returns mat:

3x3 matrix.

spherbasis(system)[source]

Complete basis of spherical tensor operators for all spins of a system.

Params system:

An instance of the system class.

Returns dict:

Complete spherical tensor operator basis of the input system, as a dictionary with keys for the individual spins and combinations thereof.

spherspin(spinsystem, spinname: str)[source]

Spherical tensor operators for a spin of an existing system.

Parameters:
  • spinsystem – An instance of the System class.

  • spinname (str) – Name of a spin of the system.

Returs dict:

Spherical tensor operators of the spin, a dictionary with keys for the tensor ranks.