Series expansion class. More...
Public Member Functions | |
void | ComputeFactorials () |
void | ComputeLowerMappingIndex () |
void | ComputeMultiindexCombination () |
int | ComputeMultiindexPosition (const ArrayList< int > &multiindex) const |
Computes the position of the given multiindex. | |
void | ComputeUpperMappingIndex () |
double | DirectLocalAccumulationCost (int order) const |
Computes the computational cost of directly accumulating a single reference point into a local moment of order p. | |
double | factorial (int k) const |
double | FarFieldEvaluationCost (int order) const |
Computes the computational cost of evaluating a far-field expansion of order p at a single query point. | |
double | FarFieldToLocalTranslationCost (int order) const |
Computes the compuational cost of translating a far-field moment of order p into a local moment of the same order. | |
int | get_dimension () const |
const Vector & | get_inv_multiindex_factorials () const |
const ArrayList< int > * | get_lower_mapping_index () const |
int | get_max_order () const |
int | get_max_total_num_coeffs () const |
const ArrayList< int > & | get_multiindex (int pos) const |
const ArrayList< int > * | get_multiindex_mapping () const |
double | get_n_choose_k (int n, int k) const |
double | get_n_multichoose_k_by_pos (int n, int k) const |
const Vector & | get_neg_inv_multiindex_factorials () const |
int | get_total_num_coeffs (int order) const |
const ArrayList< int > * | get_upper_mapping_index () const |
void | Init (int max_order, int dim) |
Initialize the auxiliary object with precomputed quantities for order up to max_order for the given dimensionality. | |
void | PrintDebug (const char *name="", FILE *stream=stderr) const |
Print useful information about this object. |
Series expansion class.
Definition at line 43 of file series_expansion_aux.h.
int SeriesExpansionAux::ComputeMultiindexPosition | ( | const ArrayList< int > & | multiindex | ) | const |
Computes the position of the given multiindex.
Definition at line 83 of file series_expansion_aux.cc.
References ArrayList< TElem >::size().
Referenced by PrintDebug().
double SeriesExpansionAux::DirectLocalAccumulationCost | ( | int | order | ) | const |
Computes the computational cost of directly accumulating a single reference point into a local moment of order p.
Definition at line 117 of file series_expansion_aux.cc.
double SeriesExpansionAux::FarFieldEvaluationCost | ( | int | order | ) | const |
Computes the computational cost of evaluating a far-field expansion of order p at a single query point.
Definition at line 109 of file series_expansion_aux.cc.
double SeriesExpansionAux::FarFieldToLocalTranslationCost | ( | int | order | ) | const |
Computes the compuational cost of translating a far-field moment of order p into a local moment of the same order.
Definition at line 113 of file series_expansion_aux.cc.
void SeriesExpansionAux::Init | ( | int | max_order, | |
int | dim | |||
) |
Initialize the auxiliary object with precomputed quantities for order up to max_order for the given dimensionality.
Definition at line 121 of file series_expansion_aux.cc.
References math::BinomialCoefficient(), GenVector< T >::Init(), and ArrayList< TElem >::Init().
void SeriesExpansionAux::PrintDebug | ( | const char * | name = "" , |
|
FILE * | stream = stderr | |||
) | const |
Print useful information about this object.
Definition at line 201 of file series_expansion_aux.cc.
References ComputeMultiindexPosition(), and ArrayList< TElem >::size().