Adapted Wavelet Analysis from Theory to Software

The field of Fourier analysis also includes the study of expansions of arbitrary functions in bases other than the exponential functions or the trigonometric functions. One of our goals will be to adapt appropriate basic waveforms to each particular class of functions, so that the coefficients of the expansion convey maximal information about the functions. To choose which bases are appropriate, it is necessary to establish some mathematical properties of those waveforms, such as their size, smoothness, orthogonality, and support. Some of these properties can best be determined with classical methods involving the Fourier transform.
Once we fix the properties of other orthogonal function systems, possibly using facts about sines, cosines, and exponentials, we can use the new transforms in contexts where traditional Fourier analysis does not work well, where they may work better. In this way, we can "bootstrap" a few deep results about a single basis into broad knowledge about a whole catalog of basic waveforms.
Such is the case with wavelets. These are functions which have prescribed smoothness, which are well localized in both time and frequency, and which form well-behaved bases for many of the important function spaces of mathematical analysis. What makes wavelet bases especially interesting is their self-similarity: every function in a wavelet basis is a dilated and translated version of one (or possibly a few) mother functions. Once we know about the mother functions, we know everything about the basis.
In the discrete case, we face the same complexity...