linbox
PolyInterpolation< Field, PolyDom > Class Template Reference

#include <poly-interpolation.h>

Public Types

typedef GivaroPoly< PolyDomRing
 
typedef Ring::Element RingElt
 
typedef Field::Element FieldElt
 
typedef std::vector< std::vector< RingElt > > ProductTree
 

Public Member Functions

 PolyInterpolation (const std::vector< FieldElt > &pts, Field &F, PolyDom &PD)
 
RingEltinterpolate (RingElt &poly, const std::vector< FieldElt > &pts, const std::vector< FieldElt > &vals, PolyDom &PD, Field &F)
 
RingEltscaledSum (RingElt &comb, const std::vector< FieldElt > &cs, PolyDom &PD)
 
void evaluate (std::vector< FieldElt > &vals, const RingElt &poly, PolyDom &PD, Field &F)
 

Static Public Member Functions

static void naiveInterpolate (RingElt &poly, const std::vector< FieldElt > &vals, const std::vector< FieldElt > &pts, GivaroPoly< PolyDom > &R, PolyDom &PD, Field &F)
 

Protected Attributes

ProductTree Mtree_
 
int k_
 

Member Typedef Documentation

◆ Ring

template<class Field, class PolyDom>
typedef GivaroPoly<PolyDom> Ring

◆ RingElt

template<class Field, class PolyDom>
typedef Ring::Element RingElt

◆ FieldElt

template<class Field, class PolyDom>
typedef Field::Element FieldElt

◆ ProductTree

template<class Field, class PolyDom>
typedef std::vector<std::vector<RingElt> > ProductTree

Constructor & Destructor Documentation

◆ PolyInterpolation()

template<class Field, class PolyDom>
PolyInterpolation ( const std::vector< FieldElt > & pts,
Field & F,
PolyDom & PD )
inline

Member Function Documentation

◆ interpolate()

template<class Field, class PolyDom>
RingElt & interpolate ( RingElt & poly,
const std::vector< FieldElt > & pts,
const std::vector< FieldElt > & vals,
PolyDom & PD,
Field & F )
inline

◆ scaledSum()

template<class Field, class PolyDom>
RingElt & scaledSum ( RingElt & comb,
const std::vector< FieldElt > & cs,
PolyDom & PD )
inline

◆ evaluate()

template<class Field, class PolyDom>
void evaluate ( std::vector< FieldElt > & vals,
const RingElt & poly,
PolyDom & PD,
Field & F )
inline

◆ naiveInterpolate()

template<class Field, class PolyDom>
static void naiveInterpolate ( RingElt & poly,
const std::vector< FieldElt > & vals,
const std::vector< FieldElt > & pts,
GivaroPoly< PolyDom > & R,
PolyDom & PD,
Field & F )
inlinestatic

Field Documentation

◆ Mtree_

template<class Field, class PolyDom>
ProductTree Mtree_
protected

◆ k_

template<class Field, class PolyDom>
int k_
protected

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