Quasifield

From formulasearchengine
Revision as of 07:26, 23 May 2013 by en>Cydebot (Robot - Speedily moving category Nonassociative algebra to Category:Non-associative algebra per CFDS.)
Jump to navigation Jump to search

In mathematics, Thiele's interpolation formula is a formula that defines a rational function from a finite set of inputs and their function values . The problem of generating a function whose graph passes through a given set of function values is called interpolation. This interpolation formula is named after the Danish mathematician Thorvald N. Thiele. It is expressed as a continued fraction, where ρ represents the reciprocal difference:

Implementation

Here is a version of Thiele interpolation in Algol 68:

 ¢ The MODE of lx and ly here should really be a UNION of "something REAL", "something COMPLex",
 and "something SYMBOLIC" ... ¢
 PROC thiele:=([]REAL lx,ly, REAL x) REAL:
 BEGIN
   []REAL xx=lx[@1],yy=ly[@1];
   INT n=UPB xx;
   IF UPB yy=n THEN
 ¢ Assuming that the values of xx are distinct ... ¢
     [0:n-1,1:n]REAL p;
     p[0,]:=yy[];
     FOR i TO n-1 DO p[1,i]:=(xx[i]-xx[1+i])/(p[0,i]-p[0,1+i]) OD;
     FOR i FROM 2 TO n-1 DO
       FOR j TO n-i DO
         p[i,j]:=(xx[j]-xx[j+i])/(p[i-1,j]-p[i-1,j+1])+p[i-2,j+1]
       OD
     OD;
     REAL a:=0;
     FOR i FROM n-1 BY -1 TO 2 DO a:=(x-xx[i])/(p[i,1]-p[i-2,1]+a) OD;
     yy[1]+(x-xx[1])/(p[1,1]+a)
   ELSE
     error; ~ ¢ Unequal length arrays supplied ¢
   FI
 END;

Although it works in most cases, it is sensitive to input values, especially those due to equally spaced abscissæ. (Essentially, in such a case, it may reduce to the ratio of two polynomials, which may have factors in common - thus yielding a 0/0 form.)

References

  • 22 year-old Systems Analyst Rave from Merrickville-Wolford, has lots of hobbies and interests including quick cars, property developers in singapore and baking. Always loves visiting spots like Historic Monuments Zone of Querétaro.

    Here is my web site - cottagehillchurch.com


Template:Mathanalysis-stub