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?


closed as off-topic by Artes, m_goldberg, Oleksandr R., Rojo, Michael E2 Nov 28 '13 at 14:52

  • The question does not concern the technical computing software Mathematica by Wolfram Research. Please see the help center to find out about the topics that can be asked here.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Maybe this will be helpful mathematica.stackexchange.com/questions/33549/… $\endgroup$ – Wojciech Nov 28 '13 at 11:08
  • $\begingroup$ it't not answering my question, actually the link you sent is my earlier question lol @WojciechSitkiewicz $\endgroup$ – Electricman Nov 28 '13 at 11:11
  • $\begingroup$ Sorry, my bad :) $\endgroup$ – Wojciech Nov 28 '13 at 11:14
  • $\begingroup$ As much as I would like to answer your question - as it is asked right now - I does not belong to the MMA StakcExchange... Long story - short: It depends. Check out Wim Sweldens' articles on the subject. $\endgroup$ – Sektor Nov 28 '13 at 11:39
  • 3
    $\begingroup$ Google ? A little bit of searching ... $\endgroup$ – Sektor Nov 28 '13 at 11:46

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"]]]

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.


Not the answer you're looking for? Browse other questions tagged or ask your own question.