Agglomerated wavelet space. More...

#include <space.hh>

Inheritance diagram for aglowav2::Haar3d0< F >:
aglowav2::Haar3d< concepts::Real > concepts::Space< concepts::Real >

Public Types

typedef Scan< Element< concepts::Real > > Scanner
 
typedef Element< concepts::Realtype
 

Public Member Functions

Haar3d0BFSScan< F > * bfsscan () const
 Scanner ("breadth" first search (1. parent, 2. children)) More...
 
virtual Haar3dBFSScan< concepts::Real > * bfsscan () const=0
 Scanner ("breadth" first search (1. parent, 2. children)) More...
 
uint d () const
 Order of vanishing moments. More...
 
Haar3d0DFSScan< F > * dfsscan () const
 Scanner (depth first search (1. children, 2. parent)) More...
 
virtual Haar3dDFSScan< concepts::Real > * dfsscan () const=0
 Scanner (depth first search (1. children, 2. parent)) More...
 
uint dim () const
 Dimension of the space. More...
 
virtual uint dim () const=0
 Returns the dimension of the space. More...
 
virtual uint getOutputDimension () const
 Returns the default output dimension, when we consider plotting a real-valued operator on this space. More...
 
 Haar3d0 (cluster::Tree< cluster::Cluster< F > > &tree, uint d=0)
 Constructor. More...
 
uint maxLocDim () const
 Maximal local dimension. More...
 
virtual uint maxLocDim () const=0
 Maximal number of children of an element. More...
 
uint nelm () const
 Number of elements. More...
 
virtual uint nelm () const=0
 Returns the number of elements in the space. More...
 
uint nlvl () const
 Maximal number of levels. More...
 
virtual uint nlvl () const=0
 Maximal number of levels. More...
 
Haar3d0BFSScan< F > * scan () const
 Scanner (same as bfsscan()) More...
 
virtual Scannerscan () const=0
 Returns a scanner to iterate over the elements of the space. More...
 
concepts::Real size () const
 Smallest size of a cell. More...
 
const concepts::Space< F > & space () const
 One scale space. More...
 
uint sumLocDim () const
 Sum of the local dimensions. More...
 
virtual ~Haar3d0 ()
 Destructor. More...
 

Protected Member Functions

std::ostream & info (std::ostream &os) const
 Information about the space. More...
 

Private Member Functions

void constructor_ (const cluster::Cluster< F > *clst, uint lvl, Haar3d000< F > **Chld, Haar3d000< F > **Curchld, uint *nChld, const bem::Constant3d002< F > **Elm, uint *nElm, concepts::Real *At, uint *nAt)
 Constructor for recursive calls. More...
 
void destructor_ (Haar3d000< F > *elm)
 Destructor for recursive calls. More...
 
void keyset_ (Haar3d000< F > *elm, uint lvl, uint gamma)
 Sets the key and gamma of each element correctly. More...
 
void moments_ (const bem::Constant3d002< F > &elm, concepts::Real *mnts)
 Computes the moments up to order d (normed basis functions are assumed) More...
 

Private Attributes

concepts::RealAt_
 
uint * bc_
 Binomial coefficients (used only in the constructor) More...
 
uint d_
 Order of vanishing moments. More...
 
uint dim_
 Space dimension. More...
 
Haar3d000< F > * elm_
 Root of the wavelet tree. More...
 
uint * idx_
 
uint * j_
 Auxiliary vectors for the keys of the elements and the DoF's. More...
 
const bem::Constant3d002< F > ** locelm_
 Auxiliary vectors for local elements (used only in the constructor) More...
 
uint maxLocDim_
 Maximal local dimension. More...
 
uint nelm_
 Number of space elements. More...
 
uint nlvl_
 Maximal number of levels. More...
 
concepts::RealS_
 Auxiliary vectors for the SVD (used only in the constructor) s_ Singular values ut_ Local transformation matrix and $U^t$ from the SVD of $A$ at_ Moment matrix $A^t$ work_ Vector used by Lapack. More...
 
uint sLocDim_
 Sum of the local dimensions. More...
 
const concepts::Space< F > & spc_
 One scale space. More...
 
concepts::Real sz_
 Smallest size of a cell. More...
 
concepts::RealUt_
 
concepts::Realv0x_
 Auxiliary vectors for the computation of the moments (used only in the constructor. More...
 
concepts::Realv0y_
 
concepts::Realv0z_
 
concepts::Realwork_
 
concepts::Realx_
 
concepts::Realy_
 
concepts::Realz_
 

Static Private Attributes

static const concepts::Real EPS_
 Threshold for singular values. More...
 
static const uint MAXLOCDIM_
 Maximal dimension of local transformation matrix. More...
 

Detailed Description

template<class F = concepts::Real>
class aglowav2::Haar3d0< F >

Agglomerated wavelet space.

Parameters
FField (Real || Cmplx)

Definition at line 153 of file space.hh.

Member Typedef Documentation

◆ Scanner

typedef Scan<Element<concepts::Real > > concepts::Space< concepts::Real >::Scanner
inherited

Definition at line 47 of file space.hh.

◆ type

typedef Element<concepts::Real > concepts::Space< concepts::Real >::type
inherited

Definition at line 46 of file space.hh.

Constructor & Destructor Documentation

◆ Haar3d0()

template<class F = concepts::Real>
aglowav2::Haar3d0< F >::Haar3d0 ( cluster::Tree< cluster::Cluster< F > > &  tree,
uint  d = 0 
)

Constructor.

Parameters
treeCluster tree
dOrder of vanishing moments $\int \psi(x) x^\alpha ds_x = 0 \quad \forall \alpha \in \mathbb{N}_0^3, \quad |\alpha|\leq d$

◆ ~Haar3d0()

template<class F = concepts::Real>
virtual aglowav2::Haar3d0< F >::~Haar3d0 ( )
inlinevirtual

Destructor.

Definition at line 163 of file space.hh.

Member Function Documentation

◆ bfsscan() [1/2]

template<class F >
Haar3d0BFSScan< F > * aglowav2::Haar3d0< F >::bfsscan
inline

Scanner ("breadth" first search (1. parent, 2. children))

Definition at line 278 of file space.hh.

◆ bfsscan() [2/2]

virtual Haar3dBFSScan<concepts::Real >* aglowav2::Haar3d< concepts::Real >::bfsscan
pure virtualinherited

Scanner ("breadth" first search (1. parent, 2. children))

Implemented in aglowav2::Haar3d0< concepts::Real >.

◆ constructor_()

template<class F = concepts::Real>
void aglowav2::Haar3d0< F >::constructor_ ( const cluster::Cluster< F > *  clst,
uint  lvl,
Haar3d000< F > **  Chld,
Haar3d000< F > **  Curchld,
uint *  nChld,
const bem::Constant3d002< F > **  Elm,
uint *  nElm,
concepts::Real At,
uint *  nAt 
)
private

Constructor for recursive calls.

Parameters
clstCluster in the cluster tree
lvlLevel
ChldChild pointer of father element (in- and output)
CurchldPointer of father on the last child (in- and output)
ElmSpace for local element list
nElmNumber of elements (in- and output)
AtMoment matrix (output)
nAtNumber of columns in At (in- and output)

◆ d()

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::d ( ) const
inline

Order of vanishing moments.

Definition at line 172 of file space.hh.

◆ destructor_()

template<class F = concepts::Real>
void aglowav2::Haar3d0< F >::destructor_ ( Haar3d000< F > *  elm)
private

Destructor for recursive calls.

◆ dfsscan() [1/2]

template<class F >
Haar3d0DFSScan< F > * aglowav2::Haar3d0< F >::dfsscan
inline

Scanner (depth first search (1. children, 2. parent))

Definition at line 273 of file space.hh.

◆ dfsscan() [2/2]

virtual Haar3dDFSScan<concepts::Real >* aglowav2::Haar3d< concepts::Real >::dfsscan
pure virtualinherited

Scanner (depth first search (1. children, 2. parent))

Implemented in aglowav2::Haar3d0< concepts::Real >.

◆ dim() [1/2]

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::dim ( ) const
inline

Dimension of the space.

Definition at line 166 of file space.hh.

◆ dim() [2/2]

◆ getOutputDimension()

virtual uint concepts::Space< concepts::Real >::getOutputDimension ( ) const
inlinevirtualinherited

Returns the default output dimension, when we consider plotting a real-valued operator on this space.

Definition at line 50 of file space.hh.

◆ info()

template<class F >
std::ostream & aglowav2::Haar3d0< F >::info ( std::ostream &  os) const
protectedvirtual

Information about the space.

Reimplemented from concepts::Space< concepts::Real >.

Definition at line 288 of file space.hh.

◆ keyset_()

template<class F = concepts::Real>
void aglowav2::Haar3d0< F >::keyset_ ( Haar3d000< F > *  elm,
uint  lvl,
uint  gamma 
)
private

Sets the key and gamma of each element correctly.

◆ maxLocDim() [1/2]

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::maxLocDim ( ) const
inline

Maximal local dimension.

Definition at line 174 of file space.hh.

◆ maxLocDim() [2/2]

virtual uint aglowav2::Haar3d< concepts::Real >::maxLocDim
pure virtualinherited

Maximal number of children of an element.

Implemented in aglowav2::Haar3d0< concepts::Real >.

◆ moments_()

template<class F = concepts::Real>
void aglowav2::Haar3d0< F >::moments_ ( const bem::Constant3d002< F > &  elm,
concepts::Real mnts 
)
private

Computes the moments up to order d (normed basis functions are assumed)

Parameters
elmElement
mntsMoments up to order d_ (output, array of size (d_+1)*(d_+2)*(d_+3)/6)

◆ nelm() [1/2]

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::nelm ( ) const
inline

Number of elements.

Definition at line 168 of file space.hh.

◆ nelm() [2/2]

◆ nlvl() [1/2]

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::nlvl ( ) const
inline

Maximal number of levels.

Definition at line 170 of file space.hh.

◆ nlvl() [2/2]

virtual uint aglowav2::Haar3d< concepts::Real >::nlvl
pure virtualinherited

Maximal number of levels.

Implemented in aglowav2::Haar3d0< concepts::Real >.

◆ scan() [1/2]

template<class F >
Haar3d0BFSScan< F > * aglowav2::Haar3d0< F >::scan
inline

Scanner (same as bfsscan())

Definition at line 283 of file space.hh.

◆ scan() [2/2]

◆ size()

template<class F = concepts::Real>
concepts::Real aglowav2::Haar3d0< F >::size ( ) const
inline

Smallest size of a cell.

Definition at line 178 of file space.hh.

◆ space()

template<class F = concepts::Real>
const concepts::Space<F>& aglowav2::Haar3d0< F >::space ( ) const
inline

One scale space.

Definition at line 180 of file space.hh.

◆ sumLocDim()

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::sumLocDim ( ) const
inline

Sum of the local dimensions.

Definition at line 176 of file space.hh.

Member Data Documentation

◆ At_

template<class F = concepts::Real>
concepts::Real * aglowav2::Haar3d0< F >::At_
private

Definition at line 262 of file space.hh.

◆ bc_

template<class F = concepts::Real>
uint* aglowav2::Haar3d0< F >::bc_
private

Binomial coefficients (used only in the constructor)

Definition at line 251 of file space.hh.

◆ d_

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::d_
private

Order of vanishing moments.

Definition at line 230 of file space.hh.

◆ dim_

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::dim_
private

Space dimension.

Definition at line 224 of file space.hh.

◆ elm_

template<class F = concepts::Real>
Haar3d000<F>* aglowav2::Haar3d0< F >::elm_
private

Root of the wavelet tree.

Definition at line 238 of file space.hh.

◆ EPS_

template<class F = concepts::Real>
const concepts::Real aglowav2::Haar3d0< F >::EPS_
staticprivate

Threshold for singular values.

Definition at line 269 of file space.hh.

◆ idx_

template<class F = concepts::Real>
uint * aglowav2::Haar3d0< F >::idx_
private

Definition at line 243 of file space.hh.

◆ j_

template<class F = concepts::Real>
uint* aglowav2::Haar3d0< F >::j_
private

Auxiliary vectors for the keys of the elements and the DoF's.

Definition at line 243 of file space.hh.

◆ locelm_

template<class F = concepts::Real>
const bem::Constant3d002<F>** aglowav2::Haar3d0< F >::locelm_
private

Auxiliary vectors for local elements (used only in the constructor)

Definition at line 254 of file space.hh.

◆ maxLocDim_

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::maxLocDim_
private

Maximal local dimension.

Definition at line 232 of file space.hh.

◆ MAXLOCDIM_

template<class F = concepts::Real>
const uint aglowav2::Haar3d0< F >::MAXLOCDIM_
staticprivate

Maximal dimension of local transformation matrix.

Used only for memory allocation.

Definition at line 267 of file space.hh.

◆ nelm_

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::nelm_
private

Number of space elements.

Definition at line 226 of file space.hh.

◆ nlvl_

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::nlvl_
private

Maximal number of levels.

Definition at line 228 of file space.hh.

◆ S_

template<class F = concepts::Real>
concepts::Real* aglowav2::Haar3d0< F >::S_
private

Auxiliary vectors for the SVD (used only in the constructor) s_ Singular values ut_ Local transformation matrix and $U^t$ from the SVD of $A$ at_ Moment matrix $A^t$ work_ Vector used by Lapack.

Definition at line 262 of file space.hh.

◆ sLocDim_

template<class F = concepts::Real>
uint aglowav2::Haar3d0< F >::sLocDim_
private

Sum of the local dimensions.

Definition at line 234 of file space.hh.

◆ spc_

template<class F = concepts::Real>
const concepts::Space<F>& aglowav2::Haar3d0< F >::spc_
private

One scale space.

Definition at line 240 of file space.hh.

◆ sz_

template<class F = concepts::Real>
concepts::Real aglowav2::Haar3d0< F >::sz_
private

Smallest size of a cell.

Definition at line 236 of file space.hh.

◆ Ut_

template<class F = concepts::Real>
concepts::Real * aglowav2::Haar3d0< F >::Ut_
private

Definition at line 262 of file space.hh.

◆ v0x_

template<class F = concepts::Real>
concepts::Real* aglowav2::Haar3d0< F >::v0x_
private

Auxiliary vectors for the computation of the moments (used only in the constructor.

Definition at line 248 of file space.hh.

◆ v0y_

template<class F = concepts::Real>
concepts::Real * aglowav2::Haar3d0< F >::v0y_
private

Definition at line 248 of file space.hh.

◆ v0z_

template<class F = concepts::Real>
concepts::Real * aglowav2::Haar3d0< F >::v0z_
private

Definition at line 248 of file space.hh.

◆ work_

template<class F = concepts::Real>
concepts::Real * aglowav2::Haar3d0< F >::work_
private

Definition at line 262 of file space.hh.

◆ x_

template<class F = concepts::Real>
concepts::Real * aglowav2::Haar3d0< F >::x_
private

Definition at line 248 of file space.hh.

◆ y_

template<class F = concepts::Real>
concepts::Real * aglowav2::Haar3d0< F >::y_
private

Definition at line 248 of file space.hh.

◆ z_

template<class F = concepts::Real>
concepts::Real * aglowav2::Haar3d0< F >::z_
private

Definition at line 248 of file space.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich