Series expansion class for multiplicative kernel functions Precomputes constants for O(p^D) expansions. 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 | 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 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.   | |
| 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).   | |
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.
| 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().
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.
 1.6.3