# CMP in MPTK: Third Results

In a previous entry, I compared our results with those produced by my own implementation of CMP in MATLAB — which did not suffer from the bug because it computes the optimal amplitude and phases in a slow way with matrix inverses. Now, with the new corrected code, I have produced the following results.
Just for comparison, here are the residual energy decays of my previous experiments, detailed in my paper on CMP with time-frequency dictionaries.

Now, with the corrections, I observe the decays. The “MPold” decay is that produced by the uncorrected MPTK.
“MP” shows that of the new code.
Only in Attack and Sine do we see much difference;
and at times in Sine the previous version of MPTK beats the corrected version. (Such is the behavior of greedy algorithms. I will write a Po’D about this soon.)
Anyhow, the decays of CMP-$$\ell$$ (where the number denotes the largest number of possible cycles of refinement, but I suspend refinement cycles when energyAfter/energyBefore > 0.999), comports with the decays I see in my MATLAB implementation (see above).
So, now I am comfortable moving on.

Below we see the decays and cycle refinements for three different CMPs for these four signals. (Note the change in the y axes.) Bimodal appears to benefit the most in the short term from the refinement cycles, after which improvement is sporadic.
The modeling of Sine has a flurry of improvements.
It is interesting to note that as $$\ell$$ increases, we do not necessarily see better models with respect to the residual energy. For instance, for Attack, the residual energy for CMP-1 beats the others.

And briefly back to the glockenspiel signal, below we see the decays and improvements
using a multiscale Gabor dictionary (up to atoms with scale 512 samples).