Ssht  1.3.3
Fast and exact spin spherical harmonic transforms
Functions
ssht_adjoint.h File Reference
#include "ssht_types.h"
Include dependency graph for ssht_adjoint.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void ssht_adjoint_mw_inverse_sov_sym (ssht_complex_double *flm, const ssht_complex_double *f, int L, int spin, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_inverse_sov_sym_real (ssht_complex_double *flm, const double *f, int L, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_forward_sov_sym (ssht_complex_double *f, const ssht_complex_double *flm, int L, int spin, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_forward_sov_sym_real (double *f, const ssht_complex_double *flm, int L, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_inverse_sov_sym_pole (ssht_complex_double *flm, ssht_complex_double *f, ssht_complex_double f_sp, double phi_sp, int L, int spin, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_inverse_sov_sym_real_pole (ssht_complex_double *flm, double *f, double f_sp, int L, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_forward_sov_sym_pole (ssht_complex_double *f, ssht_complex_double *f_sp, double *phi_sp, ssht_complex_double *flm, int L, int spin, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_forward_sov_sym_real_pole (double *f, double *f_sp, ssht_complex_double *flm, int L, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_inverse_sov_sym_ss (ssht_complex_double *flm, ssht_complex_double *f, int L, int spin, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_inverse_sov_sym_ss_real (ssht_complex_double *flm, double *f, int L, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_forward_sov_sym_ss (ssht_complex_double *f, ssht_complex_double *flm, int L, int spin, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_forward_sov_sym_ss_real (double *f, ssht_complex_double *flm, int L, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_inverse_sov_sym_ss_pole (ssht_complex_double *flm, ssht_complex_double *f, ssht_complex_double f_np, double phi_np, ssht_complex_double f_sp, double phi_sp, int L, int spin, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_inverse_sov_sym_ss_real_pole (ssht_complex_double *flm, double *f, double f_np, double f_sp, int L, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_forward_sov_sym_ss_pole (ssht_complex_double *f, ssht_complex_double *f_np, double *phi_np, ssht_complex_double *f_sp, double *phi_sp, ssht_complex_double *flm, int L, int spin, ssht_dl_method_t dl_method, int verbosity)
 
void ssht_adjoint_mw_forward_sov_sym_ss_real_pole (double *f, double *f_np, double *f_sp, ssht_complex_double *flm, int L, ssht_dl_method_t dl_method, int verbosity)
 

Function Documentation

◆ ssht_adjoint_mw_forward_sov_sym()

void ssht_adjoint_mw_forward_sov_sym ( ssht_complex_double f,
const ssht_complex_double flm,
int  L,
int  spin,
ssht_dl_method_t  dl_method,
int  verbosity 
)

Compute adjoint of forward transform for MW method using separation of variables, fast Fourier transforms, performing convolution with weights as product in transformed space and exploiting all symmetries (for complex spin signal).

Parameters
[out]fFunction on sphere.
[in]flmHarmonic coefficients.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_forward_sov_sym_pole()

void ssht_adjoint_mw_forward_sov_sym_pole ( ssht_complex_double f,
ssht_complex_double f_sp,
double *  phi_sp,
ssht_complex_double flm,
int  L,
int  spin,
ssht_dl_method_t  dl_method,
int  verbosity 
)

South pole wrapper for adjoint forward transform for MW method. The South pole is defined by a single sample and its corresponding phi angle, rather than specifying samples for all phi at the South pole (which are simply related by the rotation of a spin function in its tangent plane).

Parameters
[out]fFunction on sphere (excluding South pole).
[out]f_spFunction sample on South pole.
[out]phi_spPhi angle corresponding to quoted sample at South pole.
[in]flmHarmonic coefficients.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_forward_sov_sym_real()

void ssht_adjoint_mw_forward_sov_sym_real ( double *  f,
const ssht_complex_double flm,
int  L,
ssht_dl_method_t  dl_method,
int  verbosity 
)

Compute adjoint of forward transform for MW method of real scalar signal using separation of variables, fast Fourier transforms, performing convolution with weights as product in transformed space and exploiting all symmetries (including additional symmetries for real signals).

Parameters
[out]fFunction on sphere.
[in]flmHarmonic coefficients.
[in]LHarmonic band-limit.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_forward_sov_sym_real_pole()

void ssht_adjoint_mw_forward_sov_sym_real_pole ( double *  f,
double *  f_sp,
ssht_complex_double flm,
int  L,
ssht_dl_method_t  dl_method,
int  verbosity 
)

South pole wrapper for adjoint forward transform of real scalar function for MW method. The South pole is defined by a single sample, rather than specifying samples for all phi at the South pole (which for a scalar function are identical).

Parameters
[out]fFunction on sphere (excluding South pole).
[out]f_spFunction sample on South pole.
[in]flmHarmonic coefficients.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_forward_sov_sym_ss()

void ssht_adjoint_mw_forward_sov_sym_ss ( ssht_complex_double f,
ssht_complex_double flm,
int  L,
int  spin,
ssht_dl_method_t  dl_method,
int  verbosity 
)

Compute adjoint of forward transform for MW method with symmetric sampling using separation of variables, fast Fourier transforms, performing convolution with weights as product in transformed space and exploiting all symmetries (for complex spin signal).

Parameters
[out]fFunction on sphere.
[in]flmHarmonic coefficients.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_forward_sov_sym_ss_pole()

void ssht_adjoint_mw_forward_sov_sym_ss_pole ( ssht_complex_double f,
ssht_complex_double f_np,
double *  phi_np,
ssht_complex_double f_sp,
double *  phi_sp,
ssht_complex_double flm,
int  L,
int  spin,
ssht_dl_method_t  dl_method,
int  verbosity 
)

North-South pole wrapper for adjoint forward transform for MW method with symmetric sampling. The poles are defined by single samples and their corresponding phi angle, rather than specifying samples for all phi at the poles (which are simply related by the rotation of a spin function in its tangent plane).

Parameters
[out]fFunction on sphere (excluding poles).
[out]f_npFunction sample on North pole.
[out]phi_npPhi angle corresponding to quoted sample at North pole.
[out]f_spFunction sample on South pole.
[out]phi_spPhi angle corresponding to quoted sample at South pole.
[in]flmHarmonic coefficients.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_forward_sov_sym_ss_real()

void ssht_adjoint_mw_forward_sov_sym_ss_real ( double *  f,
ssht_complex_double flm,
int  L,
ssht_dl_method_t  dl_method,
int  verbosity 
)

Compute adjoint of forward transform for MW method with symmetric sampling of real scalar signal using separation of variables, fast Fourier transforms, performing convolution with weights as product in transformed space and exploiting all symmetries (including additional symmetries for real signals).

Parameters
[out]fFunction on sphere.
[in]flmHarmonic coefficients.
[in]LHarmonic band-limit.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_forward_sov_sym_ss_real_pole()

void ssht_adjoint_mw_forward_sov_sym_ss_real_pole ( double *  f,
double *  f_np,
double *  f_sp,
ssht_complex_double flm,
int  L,
ssht_dl_method_t  dl_method,
int  verbosity 
)

North-South pole wrapper for adjoint forward transform of real scalar function for MW method with symmetric sampling. The poles are defined by single samples, rather than specifying samples for all phi at the poles (which for a scalar function are identical).

Parameters
[out]fFunction on sphere (excluding poles).
[out]f_spFunction sample on South pole.
[out]f_npFunction sample on North pole.
[in]flmHarmonic coefficients.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_inverse_sov_sym()

void ssht_adjoint_mw_inverse_sov_sym ( ssht_complex_double flm,
const ssht_complex_double f,
int  L,
int  spin,
ssht_dl_method_t  dl_method,
int  verbosity 
)

Compute adjoint of inverse transform for MW method using separation of variables, fast Fourier transforms and exploiting all symmetries (for complex spin signal).

Parameters
[out]flmHarmonic coefficients.
[in]fFunction on sphere.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_inverse_sov_sym_pole()

void ssht_adjoint_mw_inverse_sov_sym_pole ( ssht_complex_double flm,
ssht_complex_double f,
ssht_complex_double  f_sp,
double  phi_sp,
int  L,
int  spin,
ssht_dl_method_t  dl_method,
int  verbosity 
)

South pole wrapper for adjoint inverse transform for MW method. The South pole is defined by a single sample and its corresponding phi angle, rather than specifying samples for all phi at the South pole (which are simply related by the rotation of a spin function in its tangent plane).

Parameters
[out]flmHarmonic coefficients.
[in]fFunction on sphere (excluding South pole).
[in]f_spFunction sample on South pole.
[in]phi_spPhi angle corresponding to quoted sample at South pole.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_inverse_sov_sym_real()

void ssht_adjoint_mw_inverse_sov_sym_real ( ssht_complex_double flm,
const double *  f,
int  L,
ssht_dl_method_t  dl_method,
int  verbosity 
)

Compute adjoint of inverse transform for MW method of real scalar signal using separation of variables, fast Fourier transforms and exploiting all symmetries (including additional symmetries for real signals).

Parameters
[out]flmHarmonic coefficients.
[in]fFunction on sphere.
[in]LHarmonic band-limit.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_inverse_sov_sym_real_pole()

void ssht_adjoint_mw_inverse_sov_sym_real_pole ( ssht_complex_double flm,
double *  f,
double  f_sp,
int  L,
ssht_dl_method_t  dl_method,
int  verbosity 
)

South pole wrapper for adjoint inverse transform of real scalar function for MW method. The South pole is defined by a single sample, rather than specifying samples for all phi at the South pole (which for a scalar function are identical).

Parameters
[out]flmHarmonic coefficients.
[in]fFunction on sphere (excluding South pole).
[in]f_spFunction sample on South pole.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_inverse_sov_sym_ss()

void ssht_adjoint_mw_inverse_sov_sym_ss ( ssht_complex_double flm,
ssht_complex_double f,
int  L,
int  spin,
ssht_dl_method_t  dl_method,
int  verbosity 
)

Compute adjoint of inverse transform for MW method with symmetric sampling using separation of variables, fast Fourier transforms and exploiting all symmetries (for complex spin signal).

Parameters
[out]flmHarmonic coefficients.
[in]fFunction on sphere.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_inverse_sov_sym_ss_pole()

void ssht_adjoint_mw_inverse_sov_sym_ss_pole ( ssht_complex_double flm,
ssht_complex_double f,
ssht_complex_double  f_np,
double  phi_np,
ssht_complex_double  f_sp,
double  phi_sp,
int  L,
int  spin,
ssht_dl_method_t  dl_method,
int  verbosity 
)

North-South pole wrapper for adjoint inverse transform for MW method with symmetric sampling. The poles are defined by single samples and their corresponding phi angle, rather than specifying samples for all phi at the poles (which are simply related by the rotation of a spin function in its tangent plane).

Parameters
[out]flmHarmonic coefficients.
[in]fFunction on sphere (excluding poles).
[in]f_npFunction sample on North pole.
[in]phi_npPhi angle corresponding to quoted sample at North pole.
[in]f_spFunction sample on South pole.
[in]phi_spPhi angle corresponding to quoted sample at South pole.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_inverse_sov_sym_ss_real()

void ssht_adjoint_mw_inverse_sov_sym_ss_real ( ssht_complex_double flm,
double *  f,
int  L,
ssht_dl_method_t  dl_method,
int  verbosity 
)

Compute adjoint of inverse transform for MW method with symmetric sampling of real scalar signal using separation of variables, fast Fourier transforms and exploiting all symmetries (including additional symmetries for real signals).

Parameters
[out]flmHarmonic coefficients.
[in]fFunction on sphere.
[in]LHarmonic band-limit.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen

◆ ssht_adjoint_mw_inverse_sov_sym_ss_real_pole()

void ssht_adjoint_mw_inverse_sov_sym_ss_real_pole ( ssht_complex_double flm,
double *  f,
double  f_np,
double  f_sp,
int  L,
ssht_dl_method_t  dl_method,
int  verbosity 
)

North-South pole wrapper for adjoint inverse transform of real scalar function for MW method with symmetric sampling. The poles are defined by single samples, rather than specifying samples for all phi at the poles (which for a scalar function are identical).

Parameters
[out]flmHarmonic coefficients.
[in]fFunction on sphere (excluding poles).
[in]f_npFunction sample on North pole.
[in]f_spFunction sample on South pole.
[in]LHarmonic band-limit.
[in]spinSpin number.
[in]dl_methodMethod to use when compute Wigner functions.
[in]verbosityVerbosiity flag in range [0,5].
Return values
none
Author
Jason McEwen