ipndacw | R Documentation |
This function computes the inner product matrix of discrete non-decimated autocorrelation wavelets.
ipndacw(J, filter.number = 10, family = "DaubLeAsymm", tol = 1e-100, verbose
= FALSE, ...)
J |
Dimension of inner product matrix required. This number should be a negative integer. |
filter.number |
The index of the wavelet used to compute the inner product matrix. |
family |
The family of wavelet used to compute the inner product matrix. |
tol |
In the brute force computation for Daubechies compactly supported wavelets many inner product computations are performed. This tolerance discounts any results which are smaller than |
verbose |
If |
... |
any other arguments |
This function computes the inner product matrix of the discrete non-decimated autocorrelation wavelets. This matrix is used to correct the wavelet periodogram as a step to turning it into a evolutionary wavelet spectral estimate. The matrix returned by ipndacw is the one called A in the paper by Nason, von Sachs and Kroisandt.
For the Haar wavelet the matrix is computed by using the analytical formulae in the paper by Nason, von Sachs and Kroisandt and is hence very fast and efficient and can be used for large values of -J.
For other Daubechies compactly supported wavelets the matrix is computed directly by autocorrelating discrete non-decimated wavelets at different scales and then forming the inner products of these. A function that computes the autocorrelation wavelets themselves is PsiJ
. This brute force computation is slow and memory inefficient hence ipndacw
contains a mechanism that stores any inner product matrix that it creates according to a naming scheme defined by the convention defined in rmname
. The stored matrices are assigned to the user-visible environment WTEnv
.
These stored matrices can be used in future computations by the following automatic procedure:
The rmget
looks to see whether previous computations have been performed that might be useful.
If a matrix of higher order is discovered then the appropriate top-left submatrix is returned, otherwise...
If the right order of matrix is found it is returned, otherwise ...
If a matrix of smaller order is found it is used as the top-left submatrix of the answer. The remaining elements to the right of and below the submatrix are computed and then the whole matrix is returned, otherwise...
If none are found then the whole matrix is computed in C and returned.
In this way a particular matrix for a given wavelet need only be computed once.
A matrix of order (-J)x(-J) containing the inner product matrix of the discrete non-decimated autocorrelation matrices.
Version 3.9 Copyright Guy Nason 1998
G P Nason
Nason, G.P., von Sachs, R. and Kroisandt, G. (1998). Wavelet processes and adaptive estimation of the evolutionary wavelet spectrum. Technical Report, Department of Mathematics University of Bristol/ Fachbereich Mathematik, Kaiserslautern.
ewspec
, PsiJ
, rmname
, rmget
, filter.select
.
#
# Let us create the 4x4 inner product matrix for the Haar wavelet.
# We'll turn on the jolly verbose messages as well.
#
ipndacw(-4, filter.number=1, family="DaubExPhase", verbose=TRUE)
#Computing ipndacw
#Calling haarmat
#Took 0.0699999 seconds
# -1 -2 -3 -4
#-1 1.5000 0.7500 0.3750 0.1875
#-2 0.7500 1.7500 1.1250 0.5625
#-3 0.3750 1.1250 2.8750 2.0625
#-4 0.1875 0.5625 2.0625 5.4375
#
# If we do this again it will use the precomputed version
#
ipndacw(-4, filter.number=1, family="DaubExPhase", verbose=TRUE)
#Computing ipndacw
#Returning precomputed version: using 4
#Took 0.08 seconds
# -1 -2 -3 -4
#-1 1.5000 0.7500 0.3750 0.1875
#-2 0.7500 1.7500 1.1250 0.5625
#-3 0.3750 1.1250 2.8750 2.0625
#-4 0.1875 0.5625 2.0625 5.4375
#
# Let's use a smoother wavelet from the least-asymmetric family
# and generate the 6x6 version.
#
ipndacw(-6, filter.number=10, family="DaubLeAsymm", verbose=TRUE)
#Computing ipndacw
#Took 0.95 seconds
# -1 -2 -3 -4 -5
#-1 1.839101e+00 3.215934e-01 4.058155e-04 8.460063e-06 4.522125e-08
#-2 3.215934e-01 3.035353e+00 6.425188e-01 7.947454e-04 1.683209e-05
#-3 4.058155e-04 6.425188e-01 6.070419e+00 1.285038e+00 1.589486e-03
#-4 8.460063e-06 7.947454e-04 1.285038e+00 1.214084e+01 2.570075e+00
#-5 4.522125e-08 1.683209e-05 1.589486e-03 2.570075e+00 2.428168e+01
#-6 5.161675e-10 8.941666e-08 3.366416e-05 3.178972e-03 5.140150e+00
# -6
#-1 5.161675e-10
#-2 8.941666e-08
#-3 3.366416e-05
#-4 3.178972e-03
#-5 5.140150e+00
#-6 4.856335e+01
#
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.