haar, a FORTRAN90 code which computes the Haar transform of data.
In the simplest case, one is given a vector X whose length N is a power of 2. We now consider consecutive pairs of entries of X, and for I from 0 to (N/2)-1 we define:
S[I] = ( X[2*I] + X[2*I+1] ) / sqrt ( 2 ) D[I] = ( X[2*I] - X[2*I+1] ) / sqrt ( 2 )We now replace X by the vector S concatenated with D. Assuming that (N/2) is greater than 1, we repeat the operation on the (N/2) entries of S, and so on, until we have reached a stage where our resultant S and D each contain one entry.
For data in the form of a 2D array, the transform is applied to the columns and then the rows.
haar is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.
cosine_transform, a Fortran90 code which demonstrates some simple properties of the discrete cosine transform (DCT).
fftpack5, a FORTRAN90 code which implements the Fast Fourier Transform by Paul Swarztrauber and Dick Valent;
sftpack, a FORTRAN90 code which implements the "slow" Fourier transform, intended as a teaching tool and comparison with the fast Fourier transform.
sine_transform, a FORTRAN90 code which demonstrates some simple properties of the discrete sine transform.
walsh, a FORTRAN90 code which implements versions of the Walsh and Haar transforms.
wavelet, a FORTRAN90 code which does some simple wavelet calculations;