# AutocorrIP: Wavelet Autocorrelation Inner Product Functions In mvLSW: Multivariate, Locally Stationary Wavelet Process Estimation

## Description

Inner product of cross-level wavelet autocorrelation functions.

## Usage

 ```1 2``` ``` AutoCorrIP(J, filter.number = 1, family = "DaubExPhase", crop = TRUE) ```

## Arguments

 `J` Number of levels. `filter.number` Number of vanishing moments of the wavelet function. `family` Wavelet family, either `"DaubExPhase"` or `"DaubLeAsymm"`. The Haar wavelet is defined as default. `crop` Logical, should the output of `AutoCorrIP` be cropped such that the first dimension of the returned array relate to the offset range -2^J:2^J.This is set at `TRUE` by default.

## Details

Let ψ(x) denote the mother wavelet and the wavelet defined for level j as ψ_{j,k}(x) = 2^{j/2}ψ(2^{j}x-k). The wavelet autocorrelation function between levels j & l is therefore:

Ψ_{j,l}(τ) = ∑_τ ψ_{j,k}(0)ψ_{l,k-τ}(0)

Here, integer τ defines the offset of the latter wavelet function relative to the first.

The inner product of this wavelet autocorrelation function is defined as follows for level indices j, l & h and offset λ:

A^{λ}_{j,l,h} = ∑_{τ} Ψ_{j,l}(λ - τ) Ψ_{h,h}(τ)

## Value

A 4D array (invisibly returned) of order LxJxJxJ where L depends on the specified wavelet function. If `crop=TRUE` then L=2^{J+1}+1. The first dimension defines the offset λ, whilst the second to fourth dimensions identify the levels indexed by j, l & h respectively.

## References

Taylor, S.A.C., Park, T.A. and Eckley, I. (2019) Multivariate locally stationary wavelet analysis with the mvLSW R package. Journal of statistical software 90(11) pp. 1–16, doi: 10.18637/jss.v090.i11.

Fryzlewicz, P. and Nason, G. (2006) HaarFisz estimation of evolutionary wavelet spectra. Journal of the Royal Statistical Society. Series B, 68(4) pp. 611-634.

`ipndacw`.
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23``` ```## Plot Haar autocorrelation wavelet functions inner product AInnProd <- AutoCorrIP(J = 8, filter.number = 1, family = "DaubExPhase") ## Not run: MaxOffset <- 2^8 for(h in 6:8){ x11() par(mfrow = c(3, 3)) for(l in 6:8){ for(j in 6:8){ plot(-MaxOffset:MaxOffset, AInnProd[, j, l, h], type = "l", xlab = "lambda", ylab = "Autocorr Inner Prod", main = paste("j :", j, "- l :", l, "- h :", h)) } } } ## End(Not run) ## Special case relating to ipndacw function from wavethresh package Amat <- matrix(NA, ncol = 8, nrow = 8) for(j in 1:8) Amat[, j] <- AInnProd[2^8 + 1, j, j, ] round(Amat, 5) round(ipndacw(J = -8, filter.number = 1, family = "DaubExPhase"), 5) ```