ARTS  2.2.66
wigner_functions.h File Reference
#include "rational.h"
#include <cmath>
#include "make_array.h"
Include dependency graph for wigner_functions.h:
This graph shows which files directly or indirectly include this file:

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 
)

Definition at line 185 of file wigner_functions.cc.

References wigner3j(), and wigner6j().

Referenced by test45().

◆ factorials()

Numeric factorials ( const ArrayOfIndex NomFac,
const ArrayOfIndex DenomFac 
)

Definition at line 291 of file wigner_functions.cc.

References max, min, Array< base >::nelem(), powers(), primes(), and temp.

Referenced by triangle_coefficient(), wigner3j(), and wigner6j().

◆ powers()

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

Definition at line 271 of file wigner_functions.cc.

References Array< base >::nelem().

Referenced by factorials().

◆ primes()

void primes ( ArrayOfIndex output,
const Index  input 
)

Definition at line 232 of file wigner_functions.cc.

Referenced by factorials().

◆ triangle_coefficient()

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

Definition at line 212 of file wigner_functions.cc.

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

Referenced by wigner6j().

◆ triangular_inequality()

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

Definition at line 220 of file wigner_functions.cc.

References abs.

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().

Referenced by ECS_wigner().

◆ 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 ECS_wigner(), and test45().