S2kit  1.1
Toolkit for working with functions defined on the sphere
pml.h File Reference

Go to the source code of this file.

Functions

void GeneratePmlTable (const int, const int, double *, double *)
 Generates all of the Pmls for a specified value of m. More...
 

Function Documentation

◆ GeneratePmlTable()

void GeneratePmlTable ( const int  bw,
const int  m,
double *  pml_table,
double *  workspace 
)

Generates all of the Pmls for a specified value of m.

P(m,l,j) respresents the associated Legendre function P_l^m evaluated at the j-th Chebyshev point (for the bandwidth bw): cos((2 * j + 1) * PI / (2 * bw)).

The array is placed in pml_table as follows:

P(m,m,0) P(m,m,1) ... P(m,m,2*bw-1)
P(m,m+1,0) P(m,m+1,1) ... P(m,m+1,2*bw-1)
P(m,m+2,0) P(m,m+2,1) ... P(m,m+2,2*bw-1)
...
P(m,bw-1,0) P(m,bw-1,1) ... P(m,bw-1,2*bw-1)

This array will eventually be used by the naive transform algorithm (see naive.c).
This function will precompute the arrays necessary for the algorithm.

Parameters
bwbandwidth
morder
pml_tableresult array with generated Pmls of size 2*bw*(bw-m)
workspacespace for computations of size 16*bw

Definition at line 41 of file pml.c.