HMLP: High-performance Machine Learning Primitives
pvfmm::BasisInterface< ValueType, Derived > Class Template Reference

Static Public Member Functions

template<Integer DIM>
static void Nodes (Integer order, Vector< ValueType > &nodes)
 
template<Integer DIM>
static void Approx (Integer order, const Vector< ValueType > &fn_v, Vector< ValueType > &coeff)
 Computes approximation from function values at node points. More...
 
template<Integer DIM>
static void Approx_ (Integer order, const Vector< ValueType > &fn_v, Vector< ValueType > &coeff, ValueType scale)
 
template<Integer DIM>
static void Eval (Integer order, const Vector< ValueType > &coeff, ConstIterator< Vector< ValueType >> in_x, Vector< ValueType > &out)
 Evaluates values from input coefficients at points on a regular grid defined by in_x, in_y, in_z the values in the input vector. More...
 
template<Integer DIM>
static ValueType TruncErr (Integer order, const Vector< ValueType > &coeff)
 Returns the sum of the absolute value of coefficients of the highest order terms as an estimate of truncation error. More...
 
template<Integer DIM>
static void Grad (Integer order, const Vector< ValueType > &coeff_in, Vector< ValueType > *coeff_out)
 Compute gradient. More...
 
template<Integer DIM, Integer SUBDIM>
static void Integ (Matrix< ValueType > &Mcoeff, Integer order, ConstIterator< ValueType > trg_, ValueType side, Integer src_face, const KernelFunction< ValueType, DIM > &ker, ValueType tol=-1, Integer Nq=0)
 
template<Integer DIM>
static void tensor2coeff (Integer order, const Vector< ValueType > &tensor, Vector< ValueType > &coeff)
 
template<Integer DIM>
static void coeff2tensor (Integer order, const Vector< ValueType > &coeff, Vector< ValueType > &tensor)
 
template<Integer DIM>
static void Truncate (Vector< ValueType > &coeff0, Integer order0, Integer order1)
 
template<Integer DIM>
static void Reflect (Vector< ValueType > &coeff, Integer order, Integer dir)
 
template<Integer DIM, Integer CONTINUITY>
static void MakeContinuous (Vector< ValueType > &coeff0, Vector< ValueType > &coeff1, Integer order, Integer dir0, Integer dir1)
 
template<Integer DIM, Integer CONTINUITY>
static void MakeContinuousEdge (Vector< ValueType > &coeff0, Vector< ValueType > &coeff1, Integer order, Integer dir0, Integer dir1, Integer norm0, Integer norm1)
 
static void cheb_nodes_1d (Integer order, Vector< ValueType > &nodes)
 
static void cheb_basis_1d (Integer order, const Vector< ValueType > &x, Vector< ValueType > &y)
 
static void quad_rule (Integer order, Vector< ValueType > &x, Vector< ValueType > &w)
 
static ValueType machine_eps ()
 
template<Integer DIM, Integer SUBDIM>
static void Integ_ (Matrix< ValueType > &Mcoeff, Integer order, ConstIterator< ValueType > trg_, ValueType side, Integer src_face, const KernelFunction< ValueType, DIM > &ker, Integer Nq=0)
 
static void diff_1d (Integer order, Matrix< ValueType > *M)
 

Public Attributes

friend Derived
 

Member Function Documentation

template<class ValueType, class Derived>
template<Integer DIM>
static void pvfmm::BasisInterface< ValueType, Derived >::Approx ( Integer  order,
const Vector< ValueType > &  fn_v,
Vector< ValueType > &  coeff 
)
inlinestatic

Computes approximation from function values at node points.

Parameters
[in]fn_vFunction values at node points (dof x order^DIM).
[out]coeffCoefficient values (dof x Ncoeff).
template<class ValueType, class Derived>
template<Integer DIM>
static void pvfmm::BasisInterface< ValueType, Derived >::Eval ( Integer  order,
const Vector< ValueType > &  coeff,
ConstIterator< Vector< ValueType >>  in_x,
Vector< ValueType > &  out 
)
inlinestatic

Evaluates values from input coefficients at points on a regular grid defined by in_x, in_y, in_z the values in the input vector.

Parameters
[in]coeffCoefficient values (dof x Ncoeff).
[out]outValues at node points (in_x[DIM-1].Dim() x ... x in_x[0].Dim() x dof).
template<class ValueType, class Derived>
template<Integer DIM>
static void pvfmm::BasisInterface< ValueType, Derived >::Grad ( Integer  order,
const Vector< ValueType > &  coeff_in,
Vector< ValueType > *  coeff_out 
)
inlinestatic

Compute gradient.

Parameters
[in]coeff_inInput coefficients (dof x Ncoeff)
[out]coeff_outOutput coefficients (dof x DIM x Ncoeff)
template<class ValueType, class Derived>
template<Integer DIM>
static ValueType pvfmm::BasisInterface< ValueType, Derived >::TruncErr ( Integer  order,
const Vector< ValueType > &  coeff 
)
inlinestatic

Returns the sum of the absolute value of coefficients of the highest order terms as an estimate of truncation error.

Parameters
[in]coeffCoefficient values (dof x Ncoeff).

The documentation for this class was generated from the following file: