FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m > Class Template Reference

#include <aggregated_frame.h>

List of all members.

Classes

struct  Support

Public Types

typedef FrameIndex< IBASIS,
DIM_d, DIM_m > 
Index
typedef IBASIS IntervalBasis

Public Member Functions

 ~AggregatedFrame ()
 AggregatedFrame (const Atlas< DIM_d, DIM_m > *a, const Array1D< FixedArray1D< int, 2 *DIM_d > > &bc, const Array1D< FixedArray1D< int, 2 *DIM_d > > &bcT, const int jmax)
 AggregatedFrame (const Atlas< DIM_d, DIM_m > *, const Array1D< FixedArray1D< int, 2 *DIM_d > > &, const int)
const Array1D< MappedCubeBasis
< IBASIS, DIM_d, DIM_m > * > 
bases () const
const int j0 () const
const int n_p () const
const Atlas< DIM_d, DIM_m > * atlas () const
const Array1D< Array1D< Index > > * get_full_collection_levelwise () const
const Array1D< Index > * get_full_collection () const
const Indexget_wavelet (const int number) const
void set_jmax (const int jmax)
const int degrees_of_freedom () const
 Total number of wavelets between coarsest and finest level.
double evaluate (const Index &lambda, const Point< DIM_m > &x) const
void evaluate_gradient (const Index &lambda, const Point< DIM_d > &x, Vector< double > &values) const
Index first_generator (const int j) const
 Index of first generator on level $j \geq j_0$.
Index last_generator (const int j) const
 Index of last generator on level $j \geq j_0$.
Index first_wavelet (const int j) const
 Index of first wavelet on level $j \geq j_0$.
Index last_wavelet (const int j) const
 Index of last wavelet on level $j \geq j_0$.

Static Public Member Functions

static double primal_regularity ()
static unsigned int primal_vanishing_moments ()
static unsigned int dual_vanishing_moments ()

Public Attributes

Array1D< typename
WaveletTL::CubeBasis< IBASIS,
DIM_d >::Support
all_supports
Array1D< Supportall_patch_supports

Protected Attributes

const Atlas< DIM_d, DIM_m > * atlas_
 Pointer to the underlying atlas.
Array1D< FixedArray1D< int,
2 *DIM_d > > 
bc_
 Primal boundary conditions.
Array1D< FixedArray1D< int,
2 *DIM_d > > 
bcT_
 Dual boundary conditions.
Array1D< Array1D< Index > > full_collection_levelwise
Array1D< Indexfull_collection
 Collection of all wavelet indices between coarsest and finest level.


Detailed Description

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
class FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >

Class for frames on $d$-dimensional manifolds in $R^m$. The construction principle is the following. We write the domain or manifold as an overlapping union of subdomains (patches), each of them being the smooth parametric image of a reference domain, i.e., the $d$-dimensional hypercube. By lifting a wavelet basis on the reference domain to the subdomains and taking the union of these lifted bases, a frame is obtained.

The manifold is given by an appropriate Atlas. The corresponding reference bases, or their lifted versions, are then internally constructed. For each lifted cube, the user may specify $2d$ boundary conditions.

Template Parameters:
IBASIS The underlying one-dimensional wavelet basis on the interval.
DIM_d Dimension of the domain or manifold.
DIM_m Dimension of the surrounding space.

Member Typedef Documentation

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
typedef FrameIndex<IBASIS, DIM_d, DIM_m> FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::Index

Frame index class.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
typedef IBASIS FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::IntervalBasis

Interval basis.


Constructor & Destructor Documentation

template<class IBASIS , unsigned int DIM_d, unsigned int DIM_m>
FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::~AggregatedFrame (  )  [inline]

Destructor.

template<class IBASIS , unsigned int DIM_d, unsigned int DIM_m>
FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::AggregatedFrame ( const Atlas< DIM_d, DIM_m > *  a,
const Array1D< FixedArray1D< int, 2 *DIM_d > > &  bc,
const Array1D< FixedArray1D< int, 2 *DIM_d > > &  bcT,
const int  jmax 
) [inline]

Constructor, creates a frame from a given Atlas, sets primal and dual boundary conditions, and fixes a maximal level of resolution that will be regarded. The fixation of a maximal level is included only for performance reasons. A lot of information about the wavelets between the minimal and maximal level is preprocessed. The maximal level should be chosen large enough. In a future iteration of FrameTL, we should finally get rid of this.

Parameters:
Atlas The underlying Atlas of parametric mappings representing the domain covering.
bc One-dimensional array of one-dimensional arrays of fixed length 2*DIM_d. The outer array runs over the subdomains. The inner one runs over the wavelet bases in each spatial direction. For each of the latter, the boundary conditions at the left and at the right end of the interval are specified. A boundary condition of the value r means that all derivatives up to degree r-1 vanish.
bcT The same as bc for the dual side.
jmax The maximal level of resolution.

template<class IBASIS , unsigned int DIM_d, unsigned int DIM_m>
FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::AggregatedFrame ( const Atlas< DIM_d, DIM_m > *  atlas,
const Array1D< FixedArray1D< int, 2 *DIM_d > > &  bc,
const int  jmax 
) [inline]

Constructor. Does the same as the first constructor, but no dual boundary conditions are specified.


Member Function Documentation

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
const Atlas<DIM_d, DIM_m>* FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::atlas (  )  const [inline]

Read only access to underlying atlas.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
const Array1D<MappedCubeBasis<IBASIS, DIM_d, DIM_m>* > FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::bases (  )  const [inline]

Read only access to the local bases.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
static unsigned int FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::dual_vanishing_moments (  )  [inline, static]

Number of vanishing moments of the dual wavelets.

template<class IBASIS , unsigned int DIM_d, unsigned int DIM_m>
double FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::evaluate ( const Index lambda,
const Point< DIM_m > &  x 
) const [inline]

Point evaluation of a single frame element.

template<class IBASIS , unsigned int DIM_d, unsigned int DIM_m>
void FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::evaluate_gradient ( const Index lambda,
const Point< DIM_d > &  x,
Vector< double > &  values 
) const [inline]

Point evaluation of the gradient of a single frame element.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
const Array1D<Index>* FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::get_full_collection (  )  const [inline]

Read only access to collection of wavelet frame indices. In the constructors, between minimal and maximal level, an array of all wavelet indices is preprocessed.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
const Array1D<Array1D<Index> >* FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::get_full_collection_levelwise (  )  const [inline]

Read only access to collection of wavelet frame indices. In the constructors, between minimal and maximal level, on each level an array of all wavelet indices is preprocessed.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
const Index* FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::get_wavelet ( const int  number  )  const [inline]

Given the number of a frame element, according to the canonical lexicographical ordering (level, type, patch, shift parameter), the corresponding wavelet index is returned. This index is taken from the preprocessed collection of all wavelet indices between minimal and maximal level.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
const int FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::j0 (  )  const [inline]

Coarsest level.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
const int FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::n_p (  )  const [inline]

Number of patches.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
static double FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::primal_regularity (  )  [inline, static]

Critical Sobolev regularity for the primal generators/wavelets.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
static unsigned int FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::primal_vanishing_moments (  )  [inline, static]

Number of vanishing moments of the primal wavelets.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
void FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::set_jmax ( const int  jmax  )  [inline]

Set finest possible level.


Member Data Documentation

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
Array1D<Support> FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::all_patch_supports

All supports of the frame elements, preprocessed between minimal and maximal level.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
Array1D<typename WaveletTL::CubeBasis<IBASIS,DIM_d>::Support> FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::all_supports

All supports of the reference wavelets on the unit cube, preprocessed between minimal and maximal level.

template<class IBASIS, unsigned int DIM_d, unsigned int DIM_m = DIM_d>
Array1D<Array1D<Index> > FrameTL::AggregatedFrame< IBASIS, DIM_d, DIM_m >::full_collection_levelwise [protected]

Collection of all wavelet indices between coarsest and finest level stored level by level.


The documentation for this class was generated from the following files:

Generated on Fri Mar 26 17:28:15 2010 by  doxygen 1.5.8