GNU Scientific Library Reference Manual - Third Edition (v1.12)by M. Galassi, J. Davies, J. Theiler, B. Gough, G. Jungman, P. Alken, M. Booth, F. Rossi Paperback (6"x9"), 592 pages, 60 figures ISBN 0954612078 RRP £24.95 ($39.95) |

## 30.2 Initialization

The `gsl_wavelet`

structure contains the filter coefficients
defining the wavelet and any associated offset parameters.

__Function:__gsl_wavelet ***gsl_wavelet_alloc***(const gsl_wavelet_type **`T`, size_t`k`)- This function allocates and initializes a wavelet object of type
`T`. The parameter`k`selects the specific member of the wavelet family. A null pointer is returned if insufficient memory is available or if a unsupported member is selected.

The following wavelet types are implemented:

__Wavelet:__**gsl_wavelet_daubechies**__Wavelet:__**gsl_wavelet_daubechies_centered**- The is the Daubechies wavelet family of maximum phase with k/2
vanishing moments. The implemented wavelets are
k=4, 6, ..., 20, with
`k`even.

__Wavelet:__**gsl_wavelet_haar**__Wavelet:__**gsl_wavelet_haar_centered**- This is the Haar wavelet. The only valid choice of k for the Haar wavelet is k=2.

__Wavelet:__**gsl_wavelet_bspline**__Wavelet:__**gsl_wavelet_bspline_centered**- This is the biorthogonal B-spline wavelet family of order (i,j). The implemented values of k = 100*i + j are 103, 105, 202, 204, 206, 208, 301, 303, 305 307, 309.

The centered forms of the wavelets align the coefficients of the various sub-bands on edges. Thus the resulting visualization of the coefficients of the wavelet transform in the phase plane is easier to understand.

__Function:__const char ***gsl_wavelet_name***(const gsl_wavelet **`w`)- This function returns a pointer to the name of the wavelet family for
`w`.

__Function:__void**gsl_wavelet_free***(gsl_wavelet **`w`)- This function frees the wavelet object
`w`.

The `gsl_wavelet_workspace`

structure contains scratch space of the
same size as the input data and is used to hold intermediate results
during the transform.

__Function:__gsl_wavelet_workspace ***gsl_wavelet_workspace_alloc***(size_t*`n`)- This function allocates a workspace for the discrete wavelet transform.
To perform a one-dimensional transform on
`n`elements, a workspace of size`n`must be provided. For two-dimensional transforms of`n`-by-`n`matrices it is sufficient to allocate a workspace of size`n`, since the transform operates on individual rows and columns.

__Function:__void**gsl_wavelet_workspace_free***(gsl_wavelet_workspace **`work`)- This function frees the allocated workspace
`work`.

ISBN 0954612078 | GNU Scientific Library Reference Manual - Third Edition (v1.12) | See the print edition |