SHTns 3.7
|
Apply special operators in spectral space: multiplication by cos(theta), sin(theta).d/dtheta. More...
Functions | |
void | mul_ct_matrix (shtns_cfg shtns, double *mx) |
fill mx with the coefficients for multiplication by cos(theta) | |
void | st_dt_matrix (shtns_cfg shtns, double *mx) |
fill mx with the coefficients of operator sin(theta).d/dtheta | |
void | SH_mul_mx (shtns_cfg shtns, double *mx, cplx *Qlm, cplx *Rlm) |
Multiplication of Qlm by a matrix involving l+1 and l-1 only. | |
Apply special operators in spectral space: multiplication by cos(theta), sin(theta).d/dtheta.
void mul_ct_matrix | ( | shtns_cfg | shtns, |
double * | mx ) |
fill mx with the coefficients for multiplication by cos(theta)
compute the matrix (stored in mx, a double array of size 2*NLM) required to multiply an SH representation by cos(theta) using SH_mul_mx.
mx | : an array of 2*NLM double that will be filled with the matrix coefficients. xq[lm] = mx[2*lm] * q[lm-1] + mx[2*lm+1] * q[lm+1]; |
Multiplication of Qlm by a matrix involving l+1 and l-1 only.
Apply a matrix involving l+1 and l-1 to an SH representation Qlm. Result stored in Rlm (must be different from Qlm).
The result is stored in Rlm, which MUST be different from Qlm. mx is an array of 2*NLM values as returned by mul_ct_matrix or st_dt_matrix compute: Rlm[lm] = mx[2*lm] * Qlm[lm-1] + mx[2*lm+1] * Qlm[lm+1];
void st_dt_matrix | ( | shtns_cfg | shtns, |
double * | mx ) |
fill mx with the coefficients of operator sin(theta).d/dtheta
compute the matrix (stored in mx, a double array of size 2*NLM) required to apply sin(theta)*d/dtheta to an SH representation using SH_mul_mx.
mx | : an array of 2*NLM double that will be filled with the matrix coefficients. stdq[lm] = mx[2*lm] * q[lm-1] + mx[2*lm+1] * q[lm+1]; |