# naginterfaces.library.wav.dim1_​multi_​fwd¶

naginterfaces.library.wav.dim1_multi_fwd(x, nwl, comm)[source]

dim1_multi_fwd computes the one-dimensional multi-level discrete wavelet transform (DWT). The initialization function dim1_init() must be called first to set up the DWT options.

For full information please refer to the NAG Library document for c09cc

https://www.nag.com/numeric/nl/nagdoc_28.5/flhtml/c09/c09ccf.html

Parameters
xfloat, array-like, shape

contains the one-dimensional input dataset , for .

nwlint

The number of levels, , in the multi-level resolution to be performed.

commdict, communication object, modified in place

Communication structure.

This argument must have been initialized by a prior call to dim1_init().

Returns
cfloat, ndarray, shape

Let denote the number of coefficients (of each type) produced by the wavelet transform at level , for . These values are returned in . Setting and , for , the coefficients are stored as follows:

, for

Contains the level approximation coefficients, .

, for

Contains the level detail coefficients .

, for

Contains the level detail coefficients, for .

dwtlevint, ndarray, shape

The number of transform coefficients at each level. and contain the number, , of approximation and detail coefficients respectively, for the final level of resolution (these are equal); contains the number of detail coefficients, , for the ()th level, for .

Raises
NagValueError
(errno )

On entry, is inconsistent with the value passed to the initialization function: , should be .

(errno )

On entry, is larger than the maximum number of levels returned by the initialization function: , maximum .

(errno )

On entry, .

Constraint: .

(errno )

Either the initialization function has not been called first or array [‘icomm’] has been corrupted.

(errno )

Either the initialization function was called with or array [‘icomm’] has been corrupted.

Notes

dim1_multi_fwd computes the multi-level DWT of one-dimensional data. For a given wavelet and end extension method, dim1_multi_fwd will compute a multi-level transform of a data array, , for , using a specified number, , of levels. The number of levels specified, , must be no more than the value returned in by the initialization function dim1_init() for the given problem. The transform is returned as a set of coefficients for the different levels (packed into a single array) and a representation of the multi-level structure.

The notation used here assigns level to the input dataset, , with level being the first set of coefficients computed, with the detail coefficients, , being stored while the approximation coefficients, , are used as the input to a repeat of the wavelet transform. This process is continued until, at level , both the detail coefficients, , and the approximation coefficients, are retained. The output array, , stores these sets of coefficients in reverse order, starting with followed by .