NFFT  3.4.1
Functions
wigner.h File Reference

Header file for functions related to Wigner-d/D functions. More...

Go to the source code of this file.

Functions

double SO3_alpha (int k, int m, int l)
 Computes three-term recurrence coefficients $\alpha_l^{km}$ of Wigner-d functions. More...
 
double SO3_beta (int k, int m, int l)
 Computes three-term recurrence coefficients $\beta_l^{km}$ of Wigner-d functions. More...
 
double SO3_gamma (int k, int m, int l)
 Computes three-term recurrence coefficients $\gamma_l^{km}$ of Wigner-d functions. More...
 
void SO3_alpha_row (double *alpha, int N, int m, int n)
 Compute three-term-recurrence coefficients $ \alpha_{l}^{km}$ of Wigner-d functions for all degrees $ l= 0,\ldots,N $. More...
 
void SO3_beta_row (double *beta, int N, int m, int n)
 Compute three-term-recurrence coefficients $ \beta_{l}^{km}$ of Wigner-d functions for all degrees $ l= 0,\ldots,N $. More...
 
void SO3_gamma_row (double *gamma, int N, int m, int n)
 Compute three-term-recurrence coefficients $ \gamma_{l}^{km}$ of Wigner-d functions for all degrees $ l= 0,\ldots,N $. More...
 
void SO3_alpha_matrix (double *alpha, int N, int n)
 Compute three-term-recurrence coefficients $ \alpha_{l}^{km}$ of Wigner-d functions for all order $ m = -N,\ldots,N $ and degrees $ l= 0,\ldots,N $. More...
 
void SO3_beta_matrix (double *beta, int N, int n)
 Compute three-term-recurrence coefficients $ \beta_{l}^{km}$ of Wigner-d functions for all order $ m = -N,\ldots,N $ and degrees $ l= 0,\ldots,N $. More...
 
void SO3_gamma_matrix (double *gamma, int N, int n)
 Compute three-term-recurrence coefficients $ \gamma_{l}^{km}$ of Wigner-d functions for all order $ m = -N,\ldots,N $ and degrees $ l= 0,\ldots,N $. More...
 
void SO3_alpha_all (double *alpha, int N)
 Compute three-term-recurrence coefficients $\alpha_{l}^{km}$ of Wigner-d functions for all $ k,m = -N,\ldots,N $ and $ l= 0,\ldots,N $. More...
 
void SO3_beta_all (double *beta, int N)
 Compute three-term-recurrence coefficients $\beta_{l}^{km}$ of Wigner-d functions for all $ k,m = -N,\ldots,N $ and $ l= 0,\ldots,N $. More...
 
void SO3_gamma_all (double *gamma, int N)
 Compute three-term-recurrence coefficients $\gamma_{l}^{km}$ of Wigner-d functions for all $ k,m = -N,\ldots,N $ and $ l= 0,\ldots,N $. More...
 
void eval_wigner (double *x, double *y, int size, int l, double *alpha, double *beta, double *gamma)
 Evaluates Wigner-d functions $d_l^{km}(x,c)$ using the Clenshaw-algorithm. More...
 
int eval_wigner_thresh (double *x, double *y, int size, int l, double *alpha, double *beta, double *gamma, double threshold)
 Evaluates Wigner-d functions $d_l^{km}(x,c)$ using the Clenshaw-algorithm if it not exceeds a given threshold. More...
 
double wigner_start (int n1, int n2, double theta)
 A method used for debugging, gives the values to start the "old" three-term recurrence generates $ d^{km}_l(cos(theta)) $ WHERE THE DEGREE l OF THE FUNCTION IS EQUAL TO THE MAXIMUM OF ITS ORDERS. More...
 

Detailed Description

Header file for functions related to Wigner-d/D functions.

Author
Antje Vollrath

Definition in file wigner.h.

Function Documentation

double SO3_alpha ( int  k,
int  m,
int  l 
)

Computes three-term recurrence coefficients $\alpha_l^{km}$ of Wigner-d functions.

  • k The order $k$
  • m The order $m$
  • l The degree $l$

Definition at line 25 of file wigner.c.

Referenced by SO3_alpha_all(), SO3_alpha_matrix(), and SO3_alpha_row().

double SO3_beta ( int  k,
int  m,
int  l 
)

Computes three-term recurrence coefficients $\beta_l^{km}$ of Wigner-d functions.

  • k The order $k$
  • m The order $m$
  • l The degree $l$

Definition at line 52 of file wigner.c.

Referenced by SO3_beta_all(), SO3_beta_matrix(), and SO3_beta_row().

double SO3_gamma ( int  k,
int  m,
int  l 
)

Computes three-term recurrence coefficients $\gamma_l^{km}$ of Wigner-d functions.

  • k The order $k$
  • m The order $m$
  • l The degree $l$

Definition at line 73 of file wigner.c.

Referenced by SO3_gamma_all(), SO3_gamma_matrix(), and SO3_gamma_row().

void SO3_alpha_row ( double *  alpha,
int  N,
int  m,
int  n 
)
inline

Compute three-term-recurrence coefficients $ \alpha_{l}^{km}$ of Wigner-d functions for all degrees $ l= 0,\ldots,N $.

  • alpha A pointer to an array of doubles of size $(2N+1)^2(N+1)$
  • m the first order
  • n the second order
  • N The upper bound $N$.

Definition at line 88 of file wigner.c.

References SO3_alpha().

void SO3_beta_row ( double *  beta,
int  N,
int  m,
int  n 
)
inline

Compute three-term-recurrence coefficients $ \beta_{l}^{km}$ of Wigner-d functions for all degrees $ l= 0,\ldots,N $.

  • alpha A pointer to an array of doubles of size $(2N+1)^2(N+1)$
  • m the first order
  • n the second order
  • N The upper bound $N$.

Definition at line 96 of file wigner.c.

References SO3_beta().

void SO3_gamma_row ( double *  gamma,
int  N,
int  m,
int  n 
)
inline

Compute three-term-recurrence coefficients $ \gamma_{l}^{km}$ of Wigner-d functions for all degrees $ l= 0,\ldots,N $.

  • alpha A pointer to an array of doubles of size $(2N+1)^2(N+1)$
  • m the first order
  • n the second order
  • N The upper bound $N$.

Definition at line 104 of file wigner.c.

References SO3_gamma().

void SO3_alpha_matrix ( double *  alpha,
int  N,
int  n 
)
inline

Compute three-term-recurrence coefficients $ \alpha_{l}^{km}$ of Wigner-d functions for all order $ m = -N,\ldots,N $ and degrees $ l= 0,\ldots,N $.

  • alpha A pointer to an array of doubles of size $(2N+1)^2(N+1)$
  • n the second order
  • N The upper bound $N$.

Definition at line 114 of file wigner.c.

References SO3_alpha().

void SO3_beta_matrix ( double *  beta,
int  N,
int  n 
)
inline

Compute three-term-recurrence coefficients $ \beta_{l}^{km}$ of Wigner-d functions for all order $ m = -N,\ldots,N $ and degrees $ l= 0,\ldots,N $.

  • alpha A pointer to an array of doubles of size $(2N+1)^2(N+1)$
  • n the second order
  • N The upper bound $N$.

Definition at line 128 of file wigner.c.

References SO3_beta().

void SO3_gamma_matrix ( double *  gamma,
int  N,
int  n 
)
inline

Compute three-term-recurrence coefficients $ \gamma_{l}^{km}$ of Wigner-d functions for all order $ m = -N,\ldots,N $ and degrees $ l= 0,\ldots,N $.

  • alpha A pointer to an array of doubles of size $(2N+1)^2(N+1)$
  • n the second order
  • N The upper bound $N$.

Definition at line 142 of file wigner.c.

References SO3_gamma().

void SO3_alpha_all ( double *  alpha,
int  N 
)
inline

Compute three-term-recurrence coefficients $\alpha_{l}^{km}$ of Wigner-d functions for all $ k,m = -N,\ldots,N $ and $ l= 0,\ldots,N $.

  • alpha A pointer to an array of doubles of size $(2N+1)^2(N+1)$
  • N The upper bound $N$.

Definition at line 158 of file wigner.c.

References SO3_alpha().

void SO3_beta_all ( double *  beta,
int  N 
)
inline

Compute three-term-recurrence coefficients $\beta_{l}^{km}$ of Wigner-d functions for all $ k,m = -N,\ldots,N $ and $ l= 0,\ldots,N $.

  • alpha A pointer to an array of doubles of size $(2N+1)^2(N+1)$
  • N The upper bound $N$.

Definition at line 181 of file wigner.c.

References SO3_beta().

void SO3_gamma_all ( double *  gamma,
int  N 
)
inline

Compute three-term-recurrence coefficients $\gamma_{l}^{km}$ of Wigner-d functions for all $ k,m = -N,\ldots,N $ and $ l= 0,\ldots,N $.

  • alpha A pointer to an array of doubles of size $(2N+1)^2(N+1)$
  • N The upper bound $N$.

Definition at line 198 of file wigner.c.

References SO3_gamma().

void eval_wigner ( double *  x,
double *  y,
int  size,
int  l,
double *  alpha,
double *  beta,
double *  gamma 
)
inline

Evaluates Wigner-d functions $d_l^{km}(x,c)$ using the Clenshaw-algorithm.

  • x A pointer to an array of nodes where the function is to be evaluated
  • y A pointer to an array where the function values are returned
  • size The length of x and y
  • l The degree $l$
  • alpha A pointer to an array containing the recurrence coefficients $\alpha_c^{km},\ldots,\alpha_{c+l}^{km}$
  • beta A pointer to an array containing the recurrence coefficients $\beta_c^{km},\ldots,\beta_{c+l}^{km}$
  • gamma A pointer to an array containing the recurrence coefficients $\gamma_c^{km},\ldots,\gamma_{c+l}^{km}$

Definition at line 215 of file wigner.c.

int eval_wigner_thresh ( double *  x,
double *  y,
int  size,
int  l,
double *  alpha,
double *  beta,
double *  gamma,
double  threshold 
)
inline

Evaluates Wigner-d functions $d_l^{km}(x,c)$ using the Clenshaw-algorithm if it not exceeds a given threshold.

  • x A pointer to an array of nodes where the function is to be evaluated
  • y A pointer to an array where the function values are returned
  • size The length of x and y
  • l The degree $l$
  • alpha A pointer to an array containing the recurrence coefficients $\alpha_c^{km},\ldots,\alpha_{c+l}^{km}$
  • beta A pointer to an array containing the recurrence coefficients $\beta_c^{km},\ldots,\beta_{c+l}^{km}$
  • gamma A pointer to an array containing the recurrence coefficients $\gamma_c^{km},\ldots,\gamma_{c+l}^{km}$
  • threshold The threshold

Definition at line 260 of file wigner.c.

double wigner_start ( int  n1,
int  n2,
double  theta 
)

A method used for debugging, gives the values to start the "old" three-term recurrence generates $ d^{km}_l(cos(theta)) $ WHERE THE DEGREE l OF THE FUNCTION IS EQUAL TO THE MAXIMUM OF ITS ORDERS.

  • theta the argument of
  • n1 the first order
  • n2 the second order
Returns
the function value $ d^{km}_l(cos(theta)) $

Definition at line 317 of file wigner.c.