MultSeriesExpansionAux Class Reference

Series expansion class for multiplicative kernel functions Precomputes constants for O(p^D) expansions. More...

Collaboration diagram for MultSeriesExpansionAux:
[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 ComputeTraversalMapping ()
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.
 OT_DEF_BASIC (MultSeriesExpansionAux)
void PrintDebug (const char *name="", FILE *stream=stderr) const
 Print useful information about this object.

Public Attributes

int dim_
Vector factorials_
Vector inv_multiindex_factorials_
ArrayList< int > list_total_num_coeffs_
ArrayList< ArrayList< int > > lower_mapping_index_
 for each i-th multiindex m_i, store the positions of the j-th multiindex mapping such that m_i - m_j >= 0 (the difference in all coordinates is nonnegative).
int max_order_
Matrix multiindex_combination_
ArrayList< ArrayList< int > > multiindex_mapping_
Matrix n_choose_k_
 row index is for n, column index is for k
Vector neg_inv_multiindex_factorials_
ArrayList< ArrayList< int > > traversal_mapping_
 For each i-th order, store the positions of the coefficient array to traverse.
ArrayList< ArrayList< int > > upper_mapping_index_
 for each i-th multiindex m_i, store the positions of the j-th multiindex mapping such that m_i - m_j <= 0 (the difference in all coordinates is nonpositive).

Detailed Description

Series expansion class for multiplicative kernel functions Precomputes constants for O(p^D) expansions.

Definition at line 44 of file mult_series_expansion_aux.h.


Member Function Documentation

int MultSeriesExpansionAux::ComputeMultiindexPosition ( const ArrayList< int > &  multiindex  )  const [inline]

Computes the position of the given multiindex.

Definition at line 293 of file mult_series_expansion_aux.h.

Referenced by PrintDebug().

double MultSeriesExpansionAux::DirectLocalAccumulationCost ( int  order  )  const [inline]

Computes the computational cost of directly accumulating a single reference point into a local moment of order p.

Definition at line 321 of file mult_series_expansion_aux.h.

double MultSeriesExpansionAux::FarFieldEvaluationCost ( int  order  )  const [inline]

Computes the computational cost of evaluating a far-field expansion of order p at a single query point.

Definition at line 307 of file mult_series_expansion_aux.h.

double MultSeriesExpansionAux::FarFieldToLocalTranslationCost ( int  order  )  const [inline]

Computes the compuational cost of translating a far-field moment of order p into a local moment of the same order.

Definition at line 314 of file mult_series_expansion_aux.h.

void MultSeriesExpansionAux::Init ( int  max_order,
int  dim 
) [inline]

Initialize the auxiliary object with precomputed quantities for order up to max_order for the given dimensionality.

Definition at line 329 of file mult_series_expansion_aux.h.

References math::BinomialCoefficient(), ArrayList< TElem >::Init(), GenVector< T >::Init(), ArrayList< TElem >::InitCopy(), and n_choose_k_.

void MultSeriesExpansionAux::PrintDebug ( const char *  name = "",
FILE *  stream = stderr 
) const [inline]

Print useful information about this object.

Definition at line 416 of file mult_series_expansion_aux.h.

References ComputeMultiindexPosition(), and ArrayList< TElem >::size().


Member Data Documentation

for each i-th multiindex m_i, store the positions of the j-th multiindex mapping such that m_i - m_j >= 0 (the difference in all coordinates is nonnegative).

Definition at line 69 of file mult_series_expansion_aux.h.

row index is for n, column index is for k

Definition at line 79 of file mult_series_expansion_aux.h.

Referenced by Init().

For each i-th order, store the positions of the coefficient array to traverse.

Definition at line 85 of file mult_series_expansion_aux.h.

for each i-th multiindex m_i, store the positions of the j-th multiindex mapping such that m_i - m_j <= 0 (the difference in all coordinates is nonpositive).

Definition at line 76 of file mult_series_expansion_aux.h.


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