thiele takes as the first argument a matrix data of type n× 2 where that i -th row holds coordinates x and y of i -th point, respectively. The second argument is v, which may be an identifier, number or any symbolic expression. Function returns R(v) where R is the rational interpolant. Instead of a single matrix data, two vectors x=(x_{1},x_{2},…,x_{n}) and y=(y_{1},y_{2},…,y_{n}) may be given (in this case, v is given as the third argument).

This method computes Thiele interpolated continued fraction based on the concept of reciprocal differences.

It is not guaranteed that R is continuous, i.e. it may have singularities in the shortest segment which contains all components of x .

Input :

thiele([[1,3],[2,4],[4,5],[5,8]],x)

Output :

(19*x

`^`

2-45*x-154)/(18*x-78)Input :

thiele([1,2,a],[3,4,5],3)

Output :

(13*a-29)/(3*a-7)

In the following example, data is obtained by sampling the function f(x)=(1−x^{4}) e^{1−x3} .

Input :

data_x:=[-1,-0.75,-0.5,-0.25,0,

0.25,0.5,0.75,1,1.25,1.5,1.75,2]; data_y:=[0.0,2.83341735599,2.88770329586,

2.75030303645,2.71828182846,2.66568510781,

2.24894558809,1.21863761951,0.0,-0.555711613283, -0.377871362418,-0.107135851128,-0.0136782294833]; thiele(data_x,data_y,x)

0.25,0.5,0.75,1,1.25,1.5,1.75,2]; data_y:=[0.0,2.83341735599,2.88770329586,

2.75030303645,2.71828182846,2.66568510781,

2.24894558809,1.21863761951,0.0,-0.555711613283, -0.377871362418,-0.107135851128,-0.0136782294833]; thiele(data_x,data_y,x)

Output :

(-1.55286115659*x

+1.68655817708*x

+9.40462512097)/(x

+4.03629272425*x

+3.45976823393)

`^`

6+5.87298387514*x`^`

5-5.4439152812*x`^`

4+1.68655817708*x

`^`

3-2.40784868317*x`^`

2-7.55954205222*x+9.40462512097)/(x

`^`

6-1.24295718965*x`^`

5-1.33526268624*x`^`

4+4.03629272425*x

`^`

3-0.885419321*x`^`

2-2.77913222418*x+3.45976823393)