Far field expansion class. More...
Public Member Functions | |
| void | AccumulateCoeffs (const Matrix &data, const Vector &weights, int begin, int end, int order) | 
| Accumulates the far field moment represented by the given reference data into the coefficients.   | |
| double | bandwidth_sq () const | 
| Get the coefficients.   | |
| double | ConvolveField (const MultFarFieldExpansion &fe2, const MultFarFieldExpansion &fe3, int order1, int order2, int order3) const | 
| Evaluates the three-way convolution with two other far field expansions.   | |
| double | ConvolveField (const MultFarFieldExpansion &fe, int order) const | 
| double | EvaluateField (const double *x_q, int order) const | 
| double | EvaluateField (const Matrix &data, int row_num, int order) const | 
| Evaluates the far-field coefficients at the given point.   | |
| const Vector * | get_center () const | 
| Vector * | get_center () | 
| Get the center of expansion.   | |
| const Vector & | get_coeffs () const | 
| Get the coefficients.   | |
| int | get_max_order () const | 
| Get the maximum possible approximation order.   | |
| int | get_order () const | 
| Get the approximation order.   | |
| double | get_weight_sum () const | 
| Gets the weight sum.   | |
| void | Init (const TKernelAux &ka) | 
| void | Init (const Vector ¢er, const TKernelAux &ka) | 
| Initializes the current far field expansion object with the given center.   | |
| double | MixField (const Matrix &data, int node1_begin, int node1_end, int node2_begin, int node2_end, const MultFarFieldExpansion &fe2, const MultFarFieldExpansion &fe3, int order2, int order3) const | 
| Evaluates the two-way convolution mixed with exhaustive computations with two other far field expansions.   | |
| template<typename TBound > | |
| int | OrderForConvertingToLocal (const TBound &far_field_region, const TBound &local_field_region, double min_dist_sqd_regions, double max_dist_sqd_regions, double required_bound, double *actual_error) const | 
| Computes the required order for converting to the local expansion inside another region, so that the total error (truncation error of the far field expansion plus the conversion * error) is bounded above by the given user bound.   | |
| template<typename TBound > | |
| int | OrderForEvaluating (const TBound &far_field_region, const TBound &local_field_region, double min_dist_sqd_regions, double max_dist_sqd_regions, double max_error, double *actual_error) const | 
| Computes the required order for evaluating the far field expansion for any query point within the specified region for a given bound.   | |
| void | PrintDebug (const char *name="", FILE *stream=stderr) const | 
| Prints out the series expansion represented by this object.   | |
| void | RefineCoeffs (const Matrix &data, const Vector &weights, int begin, int end, int order) | 
| Refine the far field moment that has been computed before up to a new order.   | |
| void | set_center (const Vector ¢er) | 
| Set the center of the expansion - assumes that the center has been initialized before.   | |
| void | set_order (int new_order) | 
| Set the approximation order.   | |
| void | TranslateFromFarField (const MultFarFieldExpansion &se) | 
| Translate from a far field expansion to the expansion here.   | |
| void | TranslateToLocal (MultLocalExpansion< TKernelAux > &se, int truncation_order) | 
| Translate to the given local expansion.   | |
Far field expansion class.
Definition at line 60 of file mult_farfield_expansion.h.
| void MultFarFieldExpansion< TKernelAux >::AccumulateCoeffs | ( | const Matrix & | data, | |
| const Vector & | weights, | |||
| int | begin, | |||
| int | end, | |||
| int | order | |||
| ) | 
Accumulates the far field moment represented by the given reference data into the coefficients.
| double MultFarFieldExpansion< TKernelAux >::bandwidth_sq | ( | ) |  const [inline] | 
        
Get the coefficients.
Definition at line 93 of file mult_farfield_expansion.h.
| double MultFarFieldExpansion< TKernelAux >::ConvolveField | ( | const MultFarFieldExpansion< TKernelAux > & | fe2, | |
| const MultFarFieldExpansion< TKernelAux > & | fe3, | |||
| int | order1, | |||
| int | order2, | |||
| int | order3 | |||
| ) | const | 
Evaluates the three-way convolution with two other far field expansions.
| double MultFarFieldExpansion< TKernelAux >::EvaluateField | ( | const Matrix & | data, | |
| int | row_num, | |||
| int | order | |||
| ) | const | 
Evaluates the far-field coefficients at the given point.
| Vector* MultFarFieldExpansion< TKernelAux >::get_center | ( | ) |  [inline] | 
        
Get the center of expansion.
Definition at line 96 of file mult_farfield_expansion.h.
| const Vector& MultFarFieldExpansion< TKernelAux >::get_coeffs | ( | ) |  const [inline] | 
        
Get the coefficients.
Definition at line 101 of file mult_farfield_expansion.h.
| int MultFarFieldExpansion< TKernelAux >::get_max_order | ( | ) |  const [inline] | 
        
Get the maximum possible approximation order.
Definition at line 107 of file mult_farfield_expansion.h.
| int MultFarFieldExpansion< TKernelAux >::get_order | ( | ) |  const [inline] | 
        
Get the approximation order.
Definition at line 104 of file mult_farfield_expansion.h.
| double MultFarFieldExpansion< TKernelAux >::get_weight_sum | ( | ) |  const [inline] | 
        
Gets the weight sum.
Definition at line 111 of file mult_farfield_expansion.h.
| void MultFarFieldExpansion< TKernelAux >::Init | ( | const Vector & | center, | |
| const TKernelAux & | ka | |||
| ) | 
Initializes the current far field expansion object with the given center.
| double MultFarFieldExpansion< TKernelAux >::MixField | ( | const Matrix & | data, | |
| int | node1_begin, | |||
| int | node1_end, | |||
| int | node2_begin, | |||
| int | node2_end, | |||
| const MultFarFieldExpansion< TKernelAux > & | fe2, | |||
| const MultFarFieldExpansion< TKernelAux > & | fe3, | |||
| int | order2, | |||
| int | order3 | |||
| ) | const | 
Evaluates the two-way convolution mixed with exhaustive computations with two other far field expansions.
| int MultFarFieldExpansion< TKernelAux >::OrderForConvertingToLocal | ( | const TBound & | far_field_region, | |
| const TBound & | local_field_region, | |||
| double | min_dist_sqd_regions, | |||
| double | max_dist_sqd_regions, | |||
| double | required_bound, | |||
| double * | actual_error | |||
| ) |  const [inline] | 
        
Computes the required order for converting to the local expansion inside another region, so that the total error (truncation error of the far field expansion plus the conversion * error) is bounded above by the given user bound.
| int MultFarFieldExpansion< TKernelAux >::OrderForEvaluating | ( | const TBound & | far_field_region, | |
| const TBound & | local_field_region, | |||
| double | min_dist_sqd_regions, | |||
| double | max_dist_sqd_regions, | |||
| double | max_error, | |||
| double * | actual_error | |||
| ) |  const [inline] | 
        
Computes the required order for evaluating the far field expansion for any query point within the specified region for a given bound.
| void MultFarFieldExpansion< TKernelAux >::PrintDebug | ( | const char * |  name = "",  | 
        |
| FILE * |  stream = stderr | |||
| ) | const | 
Prints out the series expansion represented by this object.
| void MultFarFieldExpansion< TKernelAux >::RefineCoeffs | ( | const Matrix & | data, | |
| const Vector & | weights, | |||
| int | begin, | |||
| int | end, | |||
| int | order | |||
| ) | 
Refine the far field moment that has been computed before up to a new order.
| void MultFarFieldExpansion< TKernelAux >::set_center | ( | const Vector & | center | ) |  [inline] | 
        
Set the center of the expansion - assumes that the center has been initialized before.
..
Definition at line 120 of file mult_farfield_expansion.h.
References GenVector< T >::length().
| void MultFarFieldExpansion< TKernelAux >::set_order | ( | int | new_order | ) |  [inline] | 
        
Set the approximation order.
Definition at line 114 of file mult_farfield_expansion.h.
| void MultFarFieldExpansion< TKernelAux >::TranslateFromFarField | ( | const MultFarFieldExpansion< TKernelAux > & | se | ) | 
Translate from a far field expansion to the expansion here.
The translated coefficients are added up to the ones here.
| void MultFarFieldExpansion< TKernelAux >::TranslateToLocal | ( | MultLocalExpansion< TKernelAux > & | se, | |
| int | truncation_order | |||
| ) | 
Translate to the given local expansion.
The translated coefficients are added up to the passed-in local expansion coefficients.
 1.6.3