SeriesExpansionAux Class Reference

Series expansion class. More...

Collaboration diagram for SeriesExpansionAux:
[legend]

List of all members.

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 Vectorget_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 Vectorget_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.

Detailed Description

Series expansion class.

Definition at line 43 of file series_expansion_aux.h.


Member Function Documentation

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().


The documentation for this class was generated from the following files:
Generated on Mon Jan 24 12:04:40 2011 for FASTlib by  doxygen 1.6.3