2

Is wavelet a Nonlinear transform, or Not?
specifically, continuous wavelet transform with morlet function. I am studying behavior of a dynamic system, and it has nonlinear behaviour. can I employ wavelet transform?

SAH
  • 233
  • 2
  • 6

1 Answers1

6

While it may be a complicated question about whether the Continuous Wavelet Transform (CWT) in general is a linear operator, it is possible to answer the question "experimentally" without undue hassle regarding Mathematica's implementation of the CWT. Here are two sequences, a and b and their ContinuousWaveletTransforms:

a = RandomReal[{-1, 1}, 100];
b = RandomReal[{-1, 1}, 100];
cwta = ContinuousWaveletTransform[a];
cwtb = ContinuousWaveletTransform[b]; 
cwtab = ContinuousWaveletTransform[a + b];

To test for linearity

Max[Abs[cwta[All, "Values"] + cwtb[All, "Values"] - cwtab[All, "Values"]]]
1.11022*10^-15

which shows that the sum of the CWTs is the sum of the individual CWTs, except for numerical roundoff error. Similarly, you can verify that ContinuousWaveletTransform[n*a + m*b] is the same as n*cwta+m*cwtb. The same also holds when using the MorletWavelet[] option in the CWT.

bill s
  • 68,936
  • 4
  • 101
  • 191