\setcounter{equation}{0}\section{Introduction}

In \cite{kt}, Kwong and Tang introduced the concept of $W$-matrices and used 
them to construct nonorthogonal multiresolution analyses applicable to finite
signals of arbitrary length.  We refer the readers to
Chui \cite{ch} and Daubechies \cite{da} and the bibliographies therein
for the classical theory of wavelets.  Multiresolution analysis is popularized by
Mallat \cite{ma}.

A $W$-matrix is generated by a pair of suitably chosen vectors.
The family of $W$-matrices of different sizes generated by the 
same pair of vectors defines a $W$-matrix transform
(or, more briefly,
$ W $-transform) on finite signals represented by vectors.  It is simply
the multiplication of the vector by a matrix of the appropriate size
in the family, followed by splitting up the product vector into
its odd-component and even-component vectors.
A multiresolution analysis refers to repeated applications of the $W$-transform
to the odd-component output signal.
See Section~3 and \cite{kt} for more details.

The most important property of a $W$-matrix, which is crucial to its
practical value, is that both the matrix and its inverse
have only a small number of nonzero elements in each row and
each column.

It was demonstrated in \cite{kt} that a particularly useful special case
is the quadratic spline (QS) matrix.  It is of order~4:
each row and column has at most four nonzero elements.
By varying six parameters, one can obtain other $W$-transforms,
including the well-known Daubechies $ D_4 $  transform of order~4.  One may
optimize to choose the best transform for a given particular
application.  $W$-matrices of any order are possible, but only
those of order 4 are covered in this paper.

In the rest of the paper, we present a MATLAB toolbox of
the general $W$-transform of order 4.  Our goal is to write highly versatile
and user-friendly commands that are suitable for carrying out
both interactive and batch experiments.  To this end, we
design the commands to be able to provide default values to
as many input arguments as possible,
and to take different actions according
to the form of the input arguments.  See Section~3.1.

MATLAB toolboxes 
based on classical orthogonal wavelets are
available in the public domain. Examples are
TeachWave (David L. Donoho),
WaveletTools (Jeffrey C. Kantor), and
WavBox (Carl Taswell).  They, of course, do not have our
new transforms.

Section 2 is an overview of the available commands.  It serves also as
a tutorial.  Section~3 gives detail explanations of the coding of
each command.  Section~4 presents
examples of M-files used for experimentation.
Section~5 contains 
information on how to obtain the toolbox.
