The class  NewtonPolyNomial defines a polynomial described with respect to the Newton basis. We let it inherit some common methods from the polynomial base class, for example, polynomial.plot, polynomial.zeros, and even parts of the __init__ method, by using the command super (see Section 8.5: Subclasses and inheritance):
class NewtonPolynomial(PolyNomial): base = 'Newton' def __init__(self,**args): if 'coeff' in args: try: self.xi = array(args['xi']) except KeyError: raise ValueError('Coefficients need to be given' 'together with abscissae values xi') super(NewtonPolynomial, self).__init__(**args)
Once the interpolation points are given, the computation of the coefficients is performed by:
def point_2_coeff(self): return array(list(self.divdiff()))
We used divided differences for computing...