Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Construct an interpolating polynomial approximation of a function using the Padua points
ResourceFunction["PaduaInterpolation"][expr,{x,xmin,xmax},{y,ymin,ymax}] evaluates expr with x running from xmin to xmax and y running from ymin to ymax, and constructs a ResourceFunction["PaduaInterpolation"] object which represents an approximate bivariate function corresponding to the result. | |
ResourceFunction["PaduaInterpolation"][…][x,y] evaluates the interpolating function with particular arguments x and y. |
InterpolationOrder | 15 | order of the interpolating polynomial generated |
"PaduaType" | 1 | type of Padua points to use |
WorkingPrecision | MachinePrecision | the precision used in internal computations |
Construct the Padua interpolant corresponding to the function Sin[π x+Sin[π y]]:
In[1]:= | ![]() |
See the value at zero:
In[2]:= | ![]() |
Out[2]= | ![]() |
Plot the Padua interpolant along with the original function:
In[3]:= | ![]() |
Out[3]= | ![]() |
See an interpolation function:
In[4]:= | ![]() |
Out[4]= | ![]() |
Get values for a few points:
In[5]:= | ![]() |
Out[5]= | ![]() |
A test function due to Franke:
In[6]:= | ![]() |
Interpolate and plot over a rectangular domain:
In[7]:= | ![]() |
Out[8]= | ![]() |
Construct a Padua interpolant of the Dixon–Szegö function of degree 25:
In[9]:= | ![]() |
Out[9]= | ![]() |
Use type 3 Padua points in interpolating the Dixon–Szegö function:
In[10]:= | ![]() |
Out[10]= | ![]() |
Use 25-digit precision in the interpolation:
In[11]:= | ![]() |
Out[11]= | ![]() |
If the input function is a polynomial of degree k, PaduaInterpolation reproduces the original polynomial as long as k is less than the setting for InterpolationOrder:
In[12]:= | ![]() |
Out[13]= | ![]() |
A test function due to Franke:
In[14]:= | ![]() |
Use the resource function PaduaPoints with InterpolatingPolynomial to construct a Padua interpolant:
In[15]:= | ![]() |
Out[15]= | ![]() |
Use PaduaInterpolation to construct a Padua interpolant:
In[16]:= | ![]() |
The interpolant constructed using InterpolatingPolynomial evaluates faster, but the interpolant generated by PaduaInterpolation gives a more accurate answer:
In[17]:= | ![]() |
Out[17]= | ![]() |
In[18]:= | ![]() |
Out[18]= | ![]() |
This work is licensed under a Creative Commons Attribution 4.0 International License