|
#include <Adaptive1D.hpp>
Public Methods | |||||||||
AdaptiveB () | |||||||||
default constructor. | |||||||||
AdaptiveB (AdaptiveB *B) | |||||||||
constructor, own data but share index sets with (*B), (*B) must be initialized. | |||||||||
int | Init (int Level0, int J, double xa=0, double xe=0) | ||||||||
| |||||||||
void | Copy (AdaptiveB *B) | ||||||||
(*this)=(*B). | |||||||||
void | CopyIndexSets (AdaptiveB *B) | ||||||||
just copy the index sets. | |||||||||
bool | SameIndexSets (AdaptiveB *B) | ||||||||
true if index sets of (*this) == index sets of (*B); false otherwise. | |||||||||
void | SetBoundaryConditions (int *BCs) | ||||||||
just set the type of boundary conditions in the left/right corner. | |||||||||
void | SetBoundaryConditions (int bc0, int bc1) | ||||||||
other interface. | |||||||||
void | Print (int allflag) | ||||||||
| |||||||||
void | Print (char *st=NULL, int allflag=0) | ||||||||
| |||||||||
void | Print (char *st) | ||||||||
print only the active IndexSets. | |||||||||
size_t | Size () | ||||||||
return
Size of Indexset for level l. | |||||||||
void | FromFull (double *d, int *BC, Wavelets *W, AdaptivityCriterion *R) | ||||||||
generate adaptive basis from (full) vector d[] using refinement criterion (*R). | |||||||||
void | FromFull (double *d) | ||||||||
just copy the data from d[] without changing the active index sets. | |||||||||
void | ToFull (double *d) | ||||||||
copy to full vector, set d[i]=0 for inactive indices. | |||||||||
void | FromAdaptiveGS (AdaptiveGS *G, Wavelets *W) | ||||||||
basis transform from adaptive generating system to adaptive basis GS->IV[l] must be large enough for IS[l] GS->I [l] must be large enough for GS->III[l-1]
GS->I[l-1]. | |||||||||
void | FromAdaptiveGS2 (AdaptiveGS *G, Wavelets *W) | ||||||||
basis transform from adaptive generating system to adaptive basis additional values of the generating system are calculated by the canonic interpolation (one step of inverse wavelet transform). | |||||||||
void | FromAdaptiveGS3 (AdaptiveGS *G, Wavelets *W) | ||||||||
AdaptiveGS contains both the index sets S(l) for the adaptive generating systems as well as the nodal values u^S(l). Starting from these values we compute the wavelet coefficients by successive low and high pass filter operations Lifting steps are included if lifting=true note: the values in *GS are modified. | |||||||||
void | IndexSetFromAdaptiveGS (AdaptiveGS *G, Wavelets *W) | ||||||||
calculate index set for wavelet coefficients which are computable from the given (*G). | |||||||||
void | LoadFromInterpoletGS (AdaptiveGS *G, Wavelets *W) | ||||||||
if the (Interpolet) basis fulfills the cone condition we may store the data of (*G) in a basis !!! | |||||||||
double | Max () | ||||||||
Max(numerical values). | |||||||||
double | MaxAbs () | ||||||||
MaxAbs(numerical values). | |||||||||
void | Sub (AdaptiveB *X, AdaptiveB *Y) | ||||||||
(*this) = (*X)-(*Y). | |||||||||
void | Add (AdaptiveB *X, AdaptiveB *Y) | ||||||||
(*this) = (*X)+(*Y). | |||||||||
void | Add (const double a, AdaptiveB *X, const double b, AdaptiveB *Y) | ||||||||
(*this) = a * (*X) + b * (*Y). | |||||||||
void | Add (const double a, AdaptiveB *X, const double b, AdaptiveB *Y, const double c, AdaptiveB *Z) | ||||||||
(*this) = a * (*X) + b * (*Y) + c * (*Z). | |||||||||
void | PPlus (AdaptiveB *X) | ||||||||
(*this) += (*X). | |||||||||
void | PPlus (const double a, AdaptiveB *X) | ||||||||
(*this) += a * (*X). | |||||||||
void | PPlus (AdaptiveB *X, AdaptiveB *Y) | ||||||||
(*this) += (*X) + (*Y). | |||||||||
void | PPlus (const double a, AdaptiveB *X, const double b, AdaptiveB *Y) | ||||||||
(*this) += a * (*X) + b * (*Y). | |||||||||
void | MMinus (AdaptiveB *X) | ||||||||
(*this) -= (*X). | |||||||||
void | MMinus (const double a, AdaptiveB *X) | ||||||||
(*this) -= a * (*X). | |||||||||
double | InnerProd (AdaptiveB *X) | ||||||||
return (*this)^T * (*X). | |||||||||
void | MMul (const double a) | ||||||||
(*this) *= a. | |||||||||
void | Fill (double a) | ||||||||
all components are set to value a. | |||||||||
void | Refine (AdaptiveB *B, AdaptivityCriterion *R, int *l, int dir, int Dim, Wavelets *W, bool copyflag=false) | ||||||||
(*this) results from the refinement of (*B) using the criterion (*R). This general function is also used for the multivariate refine function. If the underlying wavelets are Interpolets and this->islifting==true then the refined index sets do not only fulfill the cone condition required by Interpolets, but also the extended cone condition required by Lifting-Interpolets. The adaptive basis will be larger then in general.
| |||||||||
Public Attributes | |||||||||
int | Level0 | ||||||||
coarsest level. | |||||||||
int | J | ||||||||
maximal level. | |||||||||
int | BC [2] | ||||||||
type of boundary conditions in left/right corner. | |||||||||
double | XA | ||||||||
1D domain is [XA,XE]. | |||||||||
double | XE | ||||||||
see above. | |||||||||
bool | ismultiscale | ||||||||
data corresponds to multiscale representation. | |||||||||
bool | islifting | ||||||||
... with respect to Lifting Interpolets; used for runtime checks of operations. | |||||||||
struct AdaptiveB::AdaptiveLevel | LMAX | ||||||||
numercical data and set of active indices on a single level. |