ipndacw              package:wavethresh              R Documentation

_C_o_m_p_u_t_e _i_n_n_e_r _p_r_o_d_u_c_t _m_a_t_r_i_x _o_f _d_i_s_c_r_e_t_e _n_o_n-_d_e_c_i_m_a_t_e_d _a_u_t_o_c_o_r_r_e_l_a_t_i_o_n _w_a_v_e_l_e_t_s.

_D_e_s_c_r_i_p_t_i_o_n:

     This function computes the inner product matrix of discrete
     non-decimated autocorrelation wavelets.

_U_s_a_g_e:

     ipndacw(J, filter.number = 10, family = "DaubLeAsymm", tol = 1e-100, verbose
              = FALSE, ...)

_A_r_g_u_m_e_n_t_s:

       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 'tol' which effectively defines how long the
          inner product/autocorrelation products are.

 verbose: If 'TRUE' then informative messages are printed. Some of
          these can be quite fun as the function tells you whether
          precomputed matrices are being used, how much computation
          needs to be done and so forth. 

     ...: any other arguments

_D_e_t_a_i_l_s:

     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 current data directory. These
     stored matrices can be used in future computations by the
     following automatic procedure: 

_1 The whole list of functions (returned by the S function 'search()')
     is searched for any previously computed inner product matrices.
     This search is performed by the 'rmget' function.

_2 If a matrix of higher order is discovered then the appropriate
     top-left submatrix is returned, otherwise...

_3 If the right order of matrix is found it is returned, otherwise ...

_4 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... 

_5 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.

_V_a_l_u_e:

     A matrix of order (-J)x(-J) containing the inner product matrix of
     the discrete non-decimated autocorrelation matrices.

_R_E_L_E_A_S_E:

     Version 3.9 Copyright Guy Nason 1998

_R_e_f_e_r_e_n_c_e_s:

     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.

_S_e_e _A_l_s_o:

     'ewspec', 'PsiJ', 'rmname', 'rmget', 'filter.select'.

_E_x_a_m_p_l_e_s:

     #
     # 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=T)
     #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
     #

