SAF
Loading...
Searching...
No Matches
saf_sh_internal.c File Reference

Internal source for the Spherical Harmonic Transform and Spherical Array Processing module (SAF_SH_MODULE) More...

#include "saf_sh.h"
#include "saf_sh_internal.h"

Go to the source code of this file.

Functions

float wigner_3j (int j1, int j2, int j3, int m1, int m2, int m3)
 Computes the Wigner 3j symbol through the Racah formula found in http://mathworld.wolfram.com/Wigner3j-Symbol.html, Eq.7.
 
void gaunt_mtx (int N1, int N2, int N, float *A)
 Constructs a matrix of Guant coefficients.
 
float getP (int M, int i, int l, int a, int b, float R_1[3][3], float *R_lm1)
 Helper function for getSHrotMtxReal()
 
float getU (int M, int l, int m, int n, float R_1[3][3], float *R_lm1)
 Helper function for getSHrotMtxReal()
 
float getV (int M, int l, int m, int n, float R_1[3][3], float *R_lm1)
 Helper function for getSHrotMtxReal()
 
float getW (int M, int l, int m, int n, float R_1[3][3], float *R_lm1)
 Helper function for getSHrotMtxReal()
 
void getWnimu (int order, int mm, int ni, int mu, double *Wnimu)
 Helper function for sphESPRIT_create()
 
void getVnimu (int order, int ni, int mu, double *Vnimu)
 Helper function for sphESPRIT_create()
 
void muni2q (int order, int ni, int mu, int *idx_nimu, int *idx_nm)
 Helper function for sphESPRIT_create()
 

Detailed Description

Internal source for the Spherical Harmonic Transform and Spherical Array Processing module (SAF_SH_MODULE)

A collection of spherical harmonic related functions. Many of which have been derived from the MATLAB libraries found in [1-3].

See also
[1] https://github.com/polarch/Spherical-Harmonic-Transform Copyright (c) 2015, Archontis Politis, BSD-3-Clause License
[2] https://github.com/polarch/Array-Response-Simulator Copyright (c) 2015, Archontis Politis, BSD-3-Clause License
[3] https://github.com/polarch/Spherical-Array-Processing Copyright (c) 2016, Archontis Politis, BSD-3-Clause License
Author
Leo McCormack
Date
22.05.2016
License
ISC

Definition in file saf_sh_internal.c.

Function Documentation

◆ gaunt_mtx()

void gaunt_mtx ( int N1,
int N2,
int N,
float * A )

Constructs a matrix of Guant coefficients.

Constructs the (N1+1)^2 x (N2+1)^2 x (N+1)^2 matrix of Gaunt coefficients which represent the integral of three spherical harmonics, such as G^q_{q',q''} = int_Omega Y_{q'}Y_{q''}Y^*_{q} mathrm{d} Omega.

With Gaunt coefficients, the spherical harmonic coefficients of the product of two spherical functions can be given directly as a linear relationship between the harmonic coefficients of the two functions.

Parameters
[in]N1Order of first harmonic coeffient
[in]N2Order of second harmonic coefficient
[in]NTarget order
[out]AGaunt matrix; FLAT: (N1+1)^2 x (N2+1)^2 x (N+1)^2

Definition at line 100 of file saf_sh_internal.c.

◆ getP()

float getP ( int M,
int i,
int l,
int a,
int b,
float R_1[3][3],
float * R_lm1 )

Helper function for getSHrotMtxReal()

Definition at line 151 of file saf_sh_internal.c.

◆ getU()

float getU ( int M,
int l,
int m,
int n,
float R_1[3][3],
float * R_lm1 )

Helper function for getSHrotMtxReal()

Definition at line 182 of file saf_sh_internal.c.

◆ getV()

float getV ( int M,
int l,
int m,
int n,
float R_1[3][3],
float * R_lm1 )

Helper function for getSHrotMtxReal()

Definition at line 197 of file saf_sh_internal.c.

◆ getVnimu()

void getVnimu ( int order,
int ni,
int mu,
double * Vnimu )

Helper function for sphESPRIT_create()

Definition at line 315 of file saf_sh_internal.c.

◆ getW()

float getW ( int M,
int l,
int m,
int n,
float R_1[3][3],
float * R_lm1 )

Helper function for getSHrotMtxReal()

Definition at line 235 of file saf_sh_internal.c.

◆ getWnimu()

void getWnimu ( int order,
int mm,
int ni,
int mu,
double * Wnimu )

Helper function for sphESPRIT_create()

Definition at line 268 of file saf_sh_internal.c.

◆ muni2q()

void muni2q ( int order,
int ni,
int mu,
int * idx_nimu,
int * idx_nm )

Helper function for sphESPRIT_create()

+1

Definition at line 353 of file saf_sh_internal.c.

◆ wigner_3j()

float wigner_3j ( int j1,
int j2,
int j3,
int m1,
int m2,
int m3 )

Computes the Wigner 3j symbol through the Racah formula found in http://mathworld.wolfram.com/Wigner3j-Symbol.html, Eq.7.

Parameters
[in]j1Wigner 3 j-symbol, j1
[in]j2Wigner 3 j-symbol, j2
[in]j3Wigner 3 j-symbol, j3
[in]m1Wigner 3 j-symbol, m1
[in]m2Wigner 3 j-symbol, m2
[in]m3Wigner 3 j-symbol, m3
Returns
wigner_3j symbol

Definition at line 45 of file saf_sh_internal.c.