s2let  2.2.0
Fast wavelets on the sphere
Functions
s2let_test.c File Reference
#include "s2let.h"
#include <ssht/ssht.h>
#include <assert.h>
#include <complex.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#include <so3/so3.h>
Include dependency graph for s2let_test.c:

Functions

void s2let_tiling_axisym_test (int B, int L, int J_min)
 
void s2let_tiling_direction_test (int L, int N)
 
void s2let_tiling_wavelet_test (int B, int L, int J_min, int N, int spin)
 
void s2let_binomial_coefficient_test (int n_max)
 
void s2let_transform_axisym_lm_wav_test (int B, int L, int J_min, int seed)
 
void s2let_transform_axisym_lm_wav_multires_test (int B, int L, int J_min, int seed)
 
void s2let_wav_transform_wavlm_manual_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_transform_harmonic_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_transform_harmonic_multires_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_transform_axisym_wav_test (int B, int L, int J_min, int seed)
 
void s2let_transform_axisym_wav_real_test (int B, int L, int J_min, int seed)
 
void s2let_transform_axisym_wav_multires_test (int B, int L, int J_min, int seed)
 
void s2let_transform_axisym_wav_multires_real_test (int B, int L, int J_min, int seed)
 
void s2let_wav_transform_mw_test (int B, int L, int J_min, int N, int spin, int seed)
 
complex double s2let_dot_product_complex (complex double *v1, complex double *v2, int N_length)
 
complex double s2let_dot_product_real (double *v1, double *v2, int N_length)
 
void s2let_wav_analysis_adjoint_lm_lmn_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_synthesis_adjoint_lm_lmn_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_analysis_adjoint_mw_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_analysis_adjoint_mw_real_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_synthesis_adjoint_lm2wav_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_synthesis_adjoint_mw_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_synthesis_adjoint_mw_real_test (int B, int L, int J_min, int N, int spin, int seed)
 
void so3_test_gen_flmn_complex (complex double *flmn, const so3_parameters_t *parameters, int seed)
 
void s2let_wav_so3_forward_adjoint_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_transform_mw_real_test (int B, int L, int J_min, int N, int seed)
 
void s2let_wav_transform_mw_multires_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_transform_mw_multires_real_test (int B, int L, int J_min, int N, int seed)
 
void s2let_wav_transform_mwss_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_transform_mwss_real_test (int B, int L, int J_min, int N, int seed)
 
void s2let_wav_transform_mwss_multires_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_transform_mwss_multires_real_test (int B, int L, int J_min, int N, int seed)
 
void s2let_wav_transform_lm2wav_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_transform_lm2wav_real_test (int B, int L, int J_min, int N, int seed)
 
void s2let_wav_transform_lm2wav_multires_test (int B, int L, int J_min, int N, int spin, int seed)
 
void s2let_wav_transform_lm2wav_multires_real_test (int B, int L, int J_min, int N, int seed)
 
void s2let_transform_axisym_vs_directional_mw_test (B, L, J_min, seed)
 
void s2let_transform_axisym_vs_directional_mw_multires_test (B, L, J_min, seed)
 
void s2let_transform_performance_test (int B, int J_min, int NREPEAT, int NSCALE, int seed)
 
void s2let_transform_performance_multires_test (int B, int J_min, int NREPEAT, int NSCALE, int seed)
 
void s2let_transform_lm_performance_test (int B, int J_min, int NREPEAT, int NSCALE, int seed)
 
void s2let_transform_lm_performance_multires_test (int B, int J_min, int NREPEAT, int NSCALE, int seed)
 
int main (int argc, char *argv[])
 

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)

◆ s2let_binomial_coefficient_test()

void s2let_binomial_coefficient_test ( int  n_max)

◆ s2let_dot_product_complex()

complex double s2let_dot_product_complex ( complex double *  v1,
complex double *  v2,
int  N_length 
)

◆ s2let_dot_product_real()

complex double s2let_dot_product_real ( double *  v1,
double *  v2,
int  N_length 
)

◆ s2let_tiling_axisym_test()

void s2let_tiling_axisym_test ( int  B,
int  L,
int  J_min 
)

Test the identity relation of the wavelet tiling in harmonic space.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
Return values
none

◆ s2let_tiling_direction_test()

void s2let_tiling_direction_test ( int  L,
int  N 
)

Test the identity relation of the directionality components for the wavelet tiling in harmonic space.

Parameters
[in]LAngular harmonic band-limit.
[in]NAzimuthal band-limit.
Return values
none

◆ s2let_tiling_wavelet_test()

void s2let_tiling_wavelet_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin 
)

Test the identity relation of the directional wavelets for the wavelet tiling in harmonic space.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
Return values
none

◆ s2let_transform_axisym_lm_wav_multires_test()

void s2let_transform_axisym_lm_wav_multires_test ( int  B,
int  L,
int  J_min,
int  seed 
)

Test the exactness of the multiresolution wavelet transform in harmonic space.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]seedRandom seed.
Return values
none

◆ s2let_transform_axisym_lm_wav_test()

void s2let_transform_axisym_lm_wav_test ( int  B,
int  L,
int  J_min,
int  seed 
)

Test the exactness of the full resolution wavelet transform in harmonic space.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]seedRandom seed.
Return values
none

◆ s2let_transform_axisym_vs_directional_mw_multires_test()

void s2let_transform_axisym_vs_directional_mw_multires_test ( ,
,
J_min  ,
seed   
)

Test that the directional multi-resolution algorithms reduce to the axisymmetric ones, provided spin = 0, N = 1

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]seedRandom seed.
Return values
none

◆ s2let_transform_axisym_vs_directional_mw_test()

void s2let_transform_axisym_vs_directional_mw_test ( ,
,
J_min  ,
seed   
)

Test that the directional algorithms reduce to the axisymmetric ones, provided spin = 0, N = 1

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]seedRandom seed.
Return values
none

◆ s2let_transform_axisym_wav_multires_real_test()

void s2let_transform_axisym_wav_multires_real_test ( int  B,
int  L,
int  J_min,
int  seed 
)

Test the exactness of the multiresolution wavelet transform in real space for real functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]seedRandom seed.
Return values
none

◆ s2let_transform_axisym_wav_multires_test()

void s2let_transform_axisym_wav_multires_test ( int  B,
int  L,
int  J_min,
int  seed 
)

Test the exactness of the multiresolution wavelet transform in real space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]seedRandom seed.
Return values
none

◆ s2let_transform_axisym_wav_real_test()

void s2let_transform_axisym_wav_real_test ( int  B,
int  L,
int  J_min,
int  seed 
)

Test the exactness of the full resolution wavelet transform in real space for real functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]seedRandom seed.
Return values
none

◆ s2let_transform_axisym_wav_test()

void s2let_transform_axisym_wav_test ( int  B,
int  L,
int  J_min,
int  seed 
)

Test the exactness of the full resolution wavelet transform in real space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]seedRandom seed.
Return values
none

◆ s2let_transform_lm_performance_multires_test()

void s2let_transform_lm_performance_multires_test ( int  B,
int  J_min,
int  NREPEAT,
int  NSCALE,
int  seed 
)

◆ s2let_transform_lm_performance_test()

void s2let_transform_lm_performance_test ( int  B,
int  J_min,
int  NREPEAT,
int  NSCALE,
int  seed 
)

◆ s2let_transform_performance_multires_test()

void s2let_transform_performance_multires_test ( int  B,
int  J_min,
int  NREPEAT,
int  NSCALE,
int  seed 
)

◆ s2let_transform_performance_test()

void s2let_transform_performance_test ( int  B,
int  J_min,
int  NREPEAT,
int  NSCALE,
int  seed 
)

◆ s2let_wav_analysis_adjoint_lm_lmn_test()

void s2let_wav_analysis_adjoint_lm_lmn_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the full resolution directional wavelet transform in pixel space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_analysis_adjoint_mw_real_test()

void s2let_wav_analysis_adjoint_mw_real_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

◆ s2let_wav_analysis_adjoint_mw_test()

void s2let_wav_analysis_adjoint_mw_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

◆ s2let_wav_so3_forward_adjoint_test()

void s2let_wav_so3_forward_adjoint_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

◆ s2let_wav_synthesis_adjoint_lm2wav_test()

void s2let_wav_synthesis_adjoint_lm2wav_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

◆ s2let_wav_synthesis_adjoint_lm_lmn_test()

void s2let_wav_synthesis_adjoint_lm_lmn_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the full resolution directional wavelet transform in pixel space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_synthesis_adjoint_mw_real_test()

void s2let_wav_synthesis_adjoint_mw_real_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

◆ s2let_wav_synthesis_adjoint_mw_test()

void s2let_wav_synthesis_adjoint_mw_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

◆ s2let_wav_transform_harmonic_multires_test()

void s2let_wav_transform_harmonic_multires_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the multi-resolution directional wavelet transform in harmonic space.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_harmonic_test()

void s2let_wav_transform_harmonic_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the full resolution directional wavelet transform in harmonic space.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_lm2wav_multires_real_test()

void s2let_wav_transform_lm2wav_multires_real_test ( int  B,
int  L,
int  J_min,
int  N,
int  seed 
)

Test the exactness of the multi-resolution directional wavelet transform in pixel space for real functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_lm2wav_multires_test()

void s2let_wav_transform_lm2wav_multires_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the multi-resolution directional wavelet transform in pixel space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_lm2wav_real_test()

void s2let_wav_transform_lm2wav_real_test ( int  B,
int  L,
int  J_min,
int  N,
int  seed 
)

Test the exactness of the full resolution directional wavelet transform in pixel space for real functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_lm2wav_test()

void s2let_wav_transform_lm2wav_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the full resolution directional harmonic-to-wavelet transform in pixel space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_mw_multires_real_test()

void s2let_wav_transform_mw_multires_real_test ( int  B,
int  L,
int  J_min,
int  N,
int  seed 
)

Test the exactness of the multi-resolution directional wavelet transform in pixel space for real functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_mw_multires_test()

void s2let_wav_transform_mw_multires_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the multi-resolution directional wavelet transform in pixel space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_mw_real_test()

void s2let_wav_transform_mw_real_test ( int  B,
int  L,
int  J_min,
int  N,
int  seed 
)

Test the exactness of the full resolution directional wavelet transform in pixel space for real functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_mw_test()

void s2let_wav_transform_mw_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the full resolution directional wavelet transform in pixel space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_mwss_multires_real_test()

void s2let_wav_transform_mwss_multires_real_test ( int  B,
int  L,
int  J_min,
int  N,
int  seed 
)

Test the exactness of the multi-resolution directional wavelet transform in pixel space for real functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_mwss_multires_test()

void s2let_wav_transform_mwss_multires_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the multi-resolution directional wavelet transform in pixel space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_mwss_real_test()

void s2let_wav_transform_mwss_real_test ( int  B,
int  L,
int  J_min,
int  N,
int  seed 
)

Test the exactness of the full resolution directional wavelet transform in pixel space for real functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_mwss_test()

void s2let_wav_transform_mwss_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the full resolution directional wavelet transform in pixel space for complex functions.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ s2let_wav_transform_wavlm_manual_test()

void s2let_wav_transform_wavlm_manual_test ( int  B,
int  L,
int  J_min,
int  N,
int  spin,
int  seed 
)

Test the exactness of the multiresolution, manual tiling directional wavelet transform in harmonic space.

Parameters
[in]BWavelet parameter.
[in]LAngular harmonic band-limit.
[in]J_minFirst wavelet scale to be used.
[in]NAzimuthal band-limit.
[in]spinSpin number.
[in]seedRandom seed.
Return values
none

◆ so3_test_gen_flmn_complex()

void so3_test_gen_flmn_complex ( complex double *  flmn,
const so3_parameters_t *  parameters,
int  seed 
)