InvWavTransf1D: Inverse AI wavelet transform for curve of HPD matrices

Description Usage Arguments Details Value References See Also Examples

View source: R/invwavtrans.R


InvWavTransf1D computes an inverse intrinsic average-interpolation (AI) wavelet transform mapping an array of coarsest-scale HPD midpoints combined with a pyramid of Hermitian wavelet coefficients to a curve in the manifold of HPD matrices equipped with a metric specified by the user, as described in \insertCiteCvS17pdSpecEst and Chapter 3 of \insertCiteC18pdSpecEst. This is the inverse operation of the function WavTransf1D.


InvWavTransf1D(D, M0, order = 5, jmax, periodic = FALSE,
  metric = "Riemannian", ...)



a list of arrays containing the pyramid of wavelet coefficients, where each array contains the (d,d)-dimensional wavelet coefficients from the coarsest wavelet scale j = 0 up to the finest wavelet scale j = jmax. This is the same format as the $D component given as output by WavTransf1D.


a numeric array containing the midpoint(s) at the coarsest scale j = 0 in the midpoint pyramid. This is the same format as the $M0 component given as output by WavTransf1D.


an odd integer larger or equal to 1 corresponding to the order of the intrinsic AI refinement scheme, defaults to order = 5. Note that if order > 9, the computational cost significantly increases as the wavelet transform no longer uses a fast wavelet refinement scheme based on pre-determined weights.


the maximum scale (resolution) up to which the HPD midpoints (i.e. scaling coefficients) are reconstructed. If jmax is not specified it is set equal to the resolution in the finest wavelet scale jmax = length(D).


a logical value determining whether the curve of HPD matrices can be reflected at the boundary for improved wavelet refinement schemes near the boundaries of the domain. This is useful for spectral matrix estimation, where the spectral matrix is a symmetric and periodic curve in the frequency domain. Defaults to periodic = FALSE.


the metric that the space of HPD matrices is equipped with. The default choice is "Riemannian", but this can also be one of: "logEuclidean", "Cholesky", "rootEuclidean", "Euclidean" or "Riemannian-Rahman". See also the Details section below.


additional arguments for internal use.


The input list of arrays D and array M0 correspond to a pyramid of wavelet coefficients and the coarsest-scale HPD midpoints respectively, both are structured in the same way as in the output of WavTransf1D. As in the forward AI wavelet transform, if the refinement order is an odd integer smaller or equal to 9, the function computes the inverse wavelet transform using a fast wavelet refinement scheme based on weighted intrinsic averages with pre-determined weights as explained in \insertCiteCvS17pdSpecEst and Chapter 3 of \insertCiteC18pdSpecEst. If the refinement order is an odd integer larger than 9, the wavelet refinement scheme uses intrinsic polynomial prediction based on Neville's algorithm in the Riemannian manifold (via pdNeville).
The function computes the inverse intrinsic AI wavelet transform in the space of HPD matrices equipped with one of the following metrics: (i) the affine-invariant Riemannian metric (default) as detailed in e.g., \insertCiteB09pdSpecEst[Chapter 6] or \insertCitePFA05pdSpecEst; (ii) the log-Euclidean metric, the Euclidean inner product between matrix logarithms; (iii) the Cholesky metric, the Euclidean inner product between Cholesky decompositions; (iv) the Euclidean metric; or (v) the root-Euclidean metric. The default choice of metric (affine-invariant Riemannian) satisfies several useful properties not shared by the other metrics, see \insertCiteCvS17pdSpecEst or \insertCiteC18pdSpecEst for more details. Note that this comes at the cost of increased computation time in comparison to one of the other metrics.


Returns a (d, d, m)-dimensional array corresponding to a length m curve of (d,d)-dimensional HPD matrices.



See Also

WavTransf1D, pdSpecEst1D, pdNeville


P <- rExamples1D(2^8, example = "bumps")
P.wt <- WavTransf1D(P$f) ## forward transform
P.f <- InvWavTransf1D(P.wt$D, P.wt$M0) ## backward transform
all.equal(P.f, P$f)

pdSpecEst documentation built on Jan. 8, 2020, 5:08 p.m.