00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00028 #ifndef WIGNER_H
00029 #define WIGNER_H
00030
00039 double SO3_alpha(int k, int m, int l);
00048 double SO3_beta(int k, int m, int l);
00057 double SO3_gamma(int k, int m, int l);
00067 void SO3_alpha_row(double *alpha, int N, int m, int n);
00077 void SO3_beta_row(double *beta, int N, int m, int n);
00087 void SO3_gamma_row(double *gamma, int N, int m, int n);
00097 void SO3_alpha_matrix(double *alpha, int N, int n);
00107 void SO3_beta_matrix(double *beta, int N, int n);
00117 void SO3_gamma_matrix(double *gamma, int N, int n);
00118
00127 void SO3_alpha_all(double *alpha, int N);
00136 void SO3_beta_all(double *beta, int N);
00145 void SO3_gamma_all(double *gamma, int N);
00146
00162 void eval_wigner(double *x, double *y, int size, int l, double *alpha,
00163 double *beta, double *gamma);
00180 int eval_wigner_thresh(double *x, double *y, int size, int l, double *alpha,
00181 double *beta, double *gamma, double threshold);
00182
00195 double wigner_start(int n1, int n2, double theta);
00196
00197 #endif