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 CvS17pdSpecEst and Chapter 3 of C18pdSpecEst. 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.
Returns a (\(d, d, m\))-dimensional array corresponding to a length \(m\) curve of (\(d,d\))-dimensional HPD matrices.
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 CvS17pdSpecEst and Chapter 3 of
C18pdSpecEst. 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., B09pdSpecEst[Chapter 6]
or PFA05pdSpecEst; (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 CvS17pdSpecEst or C18pdSpecEst for more details. Note that this comes
at the cost of increased computation time in comparison to one of the other metrics.
# NOT RUN {
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)
# }
Run the code above in your browser using DataLab