c09cb computes the inverse one-dimensional discrete wavelet transform (DWT) at a single level. The initialization method C09 Communication class constructor must be called first to set up the DWT options.

# Syntax

C# |
---|

public static void c09cb( double[] ca, double[] cd, int n, double[] y, C09..::..C09Communications communications, out int ifail ) |

Visual Basic |
---|

Public Shared Sub c09cb ( _ ca As Double(), _ cd As Double(), _ n As Integer, _ y As Double(), _ communications As C09..::..C09Communications, _ <OutAttribute> ByRef ifail As Integer _ ) |

Visual C++ |
---|

public: static void c09cb( array<double>^ ca, array<double>^ cd, int n, array<double>^ y, C09..::..C09Communications^ communications, [OutAttribute] int% ifail ) |

F# |
---|

static member c09cb : ca : float[] * cd : float[] * n : int * y : float[] * communications : C09..::..C09Communications * ifail : int byref -> unit |

#### Parameters

- ca
- Type: array<System..::..Double>[]()[][]An array of size [lenc]
*On entry*: the ${n}_{c}$ approximation coefficients, ${C}_{a}$. These will normally be the result of some transformation on the coefficients computed by c09ca.

- cd
- Type: array<System..::..Double>[]()[][]An array of size [lenc]
*On entry*: the ${n}_{c}$ detail coefficients, ${C}_{d}$. These will normally be the result of some transformation on the coefficients computed by c09ca.

- n
- Type: System..::..Int32

- y
- Type: array<System..::..Double>[]()[][]An array of size [n]
*On exit*: the reconstructed data based on approximation and detail coefficients ${C}_{a}$ and ${C}_{d}$ and the transform options supplied to the initialization method c09aa.

- communications
- Type: NagLibrary..::..C09..::..C09CommunicationsAn Object of type C09.c09cbCommunications.

- ifail
- Type: System..::..Int32%
*On exit*: ${\mathbf{ifail}}={0}$ unless the method detects an error or a warning has been flagged (see [Error Indicators and Warnings]).

# Description

c09cb performs the inverse operation of c09ca. That is, given sets of ${n}_{c}$ approximation coefficients and detail coefficients, computed by c09ca using a DWT as set up by the initialization method C09 Communication class constructor, on a real data array of length $n$, c09cb will reconstruct the data array
${y}_{i}$, for $\mathit{i}=1,2,\dots ,n$,
from which the coefficients were derived.

# References

None.

# Error Indicators and Warnings

Errors or warnings detected by the method:

- ${\mathbf{ifail}}=1$
- On entry, ${\mathbf{lenc}}<{n}_{c}$, where ${n}_{c}$ is the value returned in nwc by the call to the initialization method C09 Communication class constructor.

- ${\mathbf{ifail}}=4$
- On entry, n is inconsistent with the value passed to the initialization method C09 Communication class constructor.

- ${\mathbf{ifail}}=6$
- On entry, the initialization method C09 Communication class constructor has not been called first or it has been called with ${\mathbf{wtrans}}=\text{"M"}$, or the communication array icomm has become corrupted.

- ${\mathbf{ifail}}=-9000$
- An error occured, see message report.
- ${\mathbf{ifail}}=-1000$
- The array lengths are not the same for arrays
- ${\mathbf{ifail}}=-8000$
- Negative dimension for array $\u2329\mathit{\text{value}}\u232a$
- ${\mathbf{ifail}}=-6000$
- Invalid Parameters $\u2329\mathit{\text{value}}\u232a$

# Accuracy

The accuracy of the wavelet transform depends only on the floating-point operations used in the convolution and downsampling and should thus be close to machine precision.

# Parallelism and Performance

None.

# Further Comments

None.