Here is some of the code I have written for my work.

I have not written documentation, so you will most likely need to view my oral presentation or dissertation to really make sense of this. The code is commented, however, and you can just run the scripts with the examples provided.


These are Matlab files.
If you want to just run this in Matlab, download, which is the whole collection of necessary files.

The code:
BiMRAsetup.m - You supply the primary and dual scaling coefficients and this calls BiMatper.m.
BiMatper.m - Construction of banded (periodized) biorthogonal matrices. Calls BiMRAper.m.
BiMRAper.m - Construction of the MRA & Wavelet spaces associated to the matrices in BiMatper.
BiGrapher.m - Supplies a plot of the functions which generate these spaces.

Cascade.m - The Cascade algorithm, fixed point iteration on the scaling equation.
Boundary_Cascade.m - My analogue for constructing the boundary functions.

Create_block_matrix_A.m - Used by BiMatper to create the banded matrices.
Create_block_matrix_B.m - Used by BiMatper to create the banded matrices.
Create_T_matrix.m - Used by BiMatper to create the banded matrices.


These are in Python but may rely on SAGE packages.
.sws are SAGE notebook files, .sage are scripts which can be read, or loaded in a terminal session.

You can see this code in action by setting the scaling coefficients s at the bottom, and running the script.
The gist is that the matrix T is a periodized form of the discrete wavelet transform using scaling coefficients s which you provide. V is defined such that TV is a banded matrix. A Multi-Resolution Analysis is defined via this matrix. Q and \tilde{Q} are matrices ready to encode a length of data.

Cascade algorithm - Provided scaling coefficients s, this approximates a scaling function. Cascade.sws, Cascade.sage

Here is a much faster version of the cascade algorithm compiled with Cython. Cython-Cascade.sws, Cython-Cascade.sage

Dual Candidate - Given scaling coefficients s this determines dual coefficients p. Dual_Candidate.sws, Dual_Candidate.sage
Scaling Coefficient Solver - Solves for scaling coefficients subject to other constraints that you provide. Scaling_Coefficient_Solver.sws, Scaling_Coeff_Solver.sage

Mallat - A plot of m_0 to check Mallat's condition if a scaling function forms an orthonormal basis. Mallat.sws, Mallat.sage
Interaction - A plot to check if a scaling function forms a Riesz basis (you want no roots). Interaction.sws, interaction.sage

Biorthogonal Matrices (Zero-padded) - Produces the matrices T and V, in the experimental zero-padded case BiMatzero.sws, BiMatzero.sage
Biorthogonal Matrices (Periodized) - Produces the matrices T and V. BiMat_per.sws, BiMatper.sage
Biorthogonal MRA (Periodized) - Produces the functions in the dual MRAs. BiMRA_per.sws, BiMRAper.sage