Harmonics#

Utilities for harmonics.

HarmonicsPG#

HarmonicsPG manages a set of point-group harmonics (real).

class HarmonicsPG(pg_tag)[source]#

Bases: dict

initialize the class.

Parameters:

pg_tag (TagGroup or str) -- tag of point group.

group(rank, axial=False)[source]#

group for given rank and i_type.

Parameters:
  • rank (int) -- rank.

  • axial (bool, optional) -- axial ?

Returns:

irreps. with given rank and i_type, (irrep., multiplicity).

Return type:

[(str,int)]

select(**kwargs) list[Harmonics][source]#

select harmonics with given keywords.

Parameters:

kwargs (dict) -- select conditions for harmonics, acceptable keywords are common to TagMultipole.

Returns:

selected harmonics.

Return type:

[Harmonics]

tag#

point-group tag.

Harmonics#

Harmonics manages point-group harmonics.

class Harmonics(m_tag, def_ex, ex, u)[source]#

Bases: object

initialize the class.

Parameters:
  • m_tag (TagMultipole or str) -- multipole tag.

  • def_ex (str) -- definition of harmonics in terms of tesseral harmonics.

  • ex (str) -- cartesian expression.

  • u (str) -- unitary matrix from Olm in descending order in m, [l,l-1,...,-l].

classmethod create_equivalent_operator(poly, j)[source]#

equivalent operator in descending order in Jz.

Parameters:
  • poly (str) -- (x,y,z) polynomial.

  • j (str) -- magnitude of angular momentum, J (0, 1/2, 1, ...).

Returns:

equivalent-operator matrix.

Return type:

NSArray

definition()[source]#

definition of harmonics in terms of linear combination of Clm and Slm.

Returns:

definition of harmonics.

Return type:

NSArray

equivalent_operator(j)[source]#

equivalent operator in descending order in Jz.

Parameters:

j (str) -- magnitude of angular momentum, J (0, 1/2, 1, ...).

Returns:

equivalent-operator matrix.

Return type:

NSArray

expression(v=None)[source]#

explicit expression of harmonics.

Parameters:

v (NSArray, optional) -- vector variable to replace "[x,y,z]".

Returns:

polynomial expression of harmonics.

Return type:

NSArray

Notes

  • when v is None, default variable is used.

is_axial()[source]#

axial harmonics ?

Returns:

axial harmonics ?

Return type:

bool

is_complex()[source]#

complex harmonics ?

Returns:

complex harmonics ?

Return type:

bool

to_vector()[source]#

cartesian vector for rank-1 expression.

Returns:

converted cartesian vector.

Return type:

NSArray

u_matrix()[source]#

unitary matrix from (l,m) to the harmonics, \(X_{harm} = U^{\dagger}X_{lm}U\).

Returns:

unitary matrix from (l,m) to the harmonics with (2l+1) components, descending order in m.

Return type:

NSArray

tag#

multipole tag.