ARTS  2.2.66
wigner_functions.h File Reference
#include "rational.h"
#include <cmath>
#include "make_array.h"

Go to the source code of this file.

Functions

Numeric wigner3j (const Rational j1, const Rational j2, const Rational j3, const Rational m1, const Rational m2, const Rational m3)
 
Numeric wigner6j (const Rational j1, const Rational j2, const Rational j3, const Rational l1, const Rational l2, const Rational l3)
 
Numeric ECS_wigner (Rational L, Rational Nl, Rational Nk, Rational Jk_lower, Rational Jl_lower, Rational Jk_upper, Rational Jl_upper)
 
Numeric factorials (const ArrayOfIndex &NomFac, const ArrayOfIndex &DenomFac)
 
void primes (ArrayOfIndex &output, const Index input)
 
void powers (ArrayOfIndex &output, const ArrayOfIndex primes, const Index input)
 
Numeric triangle_coefficient (const Rational a, const Rational b, const Rational c)
 
bool triangular_inequality (const Rational x, const Rational y, const Rational z)
 

Function Documentation

◆ ECS_wigner()

Numeric ECS_wigner ( Rational  L,
Rational  Nl,
Rational  Nk,
Rational  Jk_lower,
Rational  Jl_lower,
Rational  Jk_upper,
Rational  Jl_upper 
)

Referenced by test45().

◆ factorials()

Numeric factorials ( const ArrayOfIndex NomFac,
const ArrayOfIndex DenomFac 
)

Referenced by wigner3j(), and wigner6j().

◆ powers()

void powers ( ArrayOfIndex output,
const ArrayOfIndex  primes,
const Index  input 
)

◆ primes()

void primes ( ArrayOfIndex output,
const Index  input 
)

◆ triangle_coefficient()

Numeric triangle_coefficient ( const Rational  a,
const Rational  b,
const Rational  c 
)

Referenced by wigner6j().

◆ triangular_inequality()

bool triangular_inequality ( const Rational  x,
const Rational  y,
const Rational  z 
)

Referenced by wigner3j(), and wigner6j().

◆ wigner3j()

Numeric wigner3j ( const Rational  j1,
const Rational  j2,
const Rational  j3,
const Rational  m1,
const Rational  m2,
const Rational  m3 
)

Equation 34.2.4 in http://dlmf.nist.gov/34.2

Some test cases to simplify the calculations are made for m_i=0.

Definition at line 28 of file wigner_functions.cc.

References abs, factorials(), Rational::toIndex(), and triangular_inequality().

◆ wigner6j()

Numeric wigner6j ( const Rational  j1,
const Rational  j2,
const Rational  j3,
const Rational  J1,
const Rational  J2,
const Rational  J3 
)

Equation 34.4.2 in http://dlmf.nist.gov/34.4 may be invalid.

Using Equation 4 in http://mathworld.wolfram.com/Wigner6j-Symbol.html instead

Simplifications are made for J1 = 1.

Definition at line 119 of file wigner_functions.cc.

References factorials(), Rational::toIndex(), Rational::toNumeric(), triangle_coefficient(), and triangular_inequality().

Referenced by test45().