|
he file OTSProjects/python/wavelet2/dirichlet3a.py produces a multiscale
basis for the interval
with Dirichlet boundary conditions. The basis has the following structure.
Let variable "basis" contain the result of the calculation. It is a
dictionary, basis['xsi'] is a set of scaling functions
of scale
.
Exactly,
is the minimal scale that satisfies the condition
(
Sufficiently fine scale 2
) and there
are
functions marked by indexes from the set
.
The parameter
says how many functions correspond to an interval of unit length and there are
two such intervals in
.
The functions marked by indexes from
and
are boundary scaling functions for left and right boundaries. Because this
construction is done for
vanishing moments, there are 4 boundary scaling functions for each boundary: 5
functions because of connection of
to length of support minus one boundary condition. Because of the condition
(
Sufficiently fine scale 2
),
functions from
and
have non-overlapping supports and
is non-empty. The functions marked by
are internal functions equal to a scale-transport transformation of the same
scaling function
.
All of these statements should be trivial after examining the section
(
Adapting GMRA to interval
[0,1]
).
The basis[3] contains scaling functions
that complement
to a basis of scale
.
Thus
also contains
functions marked by indexes from the set
.
The index subsets
have similar meaning.
The variables basis[4],basis[5],... contain wavelet complements to the scales
,
,...
If we compare the boundary functions
with
then we discover that there is one-to-one transformation between two set that
consists of scaling and transport. Thus, if we want to adapt
to a different interval of the form
then all we have to do is place scaled functions
,
to the boundaries of
and fill in the rest by transformations of
.
From the structure of
we know how many functions we need. If the difference
is too small to keep the condition
(
Sufficiently fine scale 2
) then we
increase the scale. The only challenge is to find correct transport shifts.
We introduce the convenience
notation
We assume that
Then we will have
boundary scaling functions on the interval
and
internal functions.
The function
is the left-most internal scaling function. Its support is centered within the
interval
.
We need to map it into a function with support centered within
.
Thus we apply the transformation
(see the section
(
Elementary
definitions of wavelet analysis
)) to place the center in
,
shift it with
for some
to place the center into
and then scale it with
into
.
We chose the parameter
to
match
or
We perform the chain of
transformations:
Therefore, we obtain left boundary functions for
by applying the same transformation to
.
We perform a similar argument on the right side. The function
(python notation) is the right-most internal scaling function. Its support is
centered within the interval
.
We need to map it into a function with support centered within
.
Thus we apply the transformation
to place the center in
,
shift it with
for some
to place the center into
and then scale it with
into
.
We chose the parameter
to
match
We perform the chain of
transformations:
After we adapted basis to a given interval we might want to change scale: to
go from
to
covering the same interval. The idea of transformation is the same.
Let
be a set of scaling functions on
.
We would like to produce a set
for some scale
.
We noted before that
-scaled
functions cover a unit length. The length of the interval
is
.
Thus
functions are needed to cover
at scale
.
The procedure works only if this is an integer. The
sets
are calculated from the
requirements
The function
is centered within the interval
.
We would like to map it to
centered within
.
Thus, we apply the
transformation
for some shift
to be found from equating
We perform
transformations
Similarly, we perform calculation at the right side, equating support centers
of
and
:
vs
.
We
transform
equate
and
find
To enable the procedure of the section
(
Accelerated calculation of
Gram matrix
), we need to associate a fixed function to all
for all
:
for some
and a shift
.
We find
by matching centers of supports. We fix
by requiring that
would be centered at or around 0. We noted before that the function
is centered within the interval
where
.
We perform the transformation
and require that the support would be around
0.
We
need
If
is not an integer then we
set
This way zero would be included in
for any
.
Note that in all calculations of the section
(
Accelerated calculation of
Gram matrix
), applied to
,
has the meaning
.
|