padua, a MATLAB code which returns the coordinates of the 2D Padua points, as well as interpolation weights or quadrature weights, and images of the points in MATLAB graphics files.

### Languages:

padua is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

### Related Data and Programs:

lagrange_interp_2d, a MATLAB code which defines and evaluates the Lagrange polynomial p(x,y) which interpolates a set of data depending on a 2D argument that was evaluated on a product grid, so that p(x(i),y(j)) = z(i,j).

pwl_interp_2d, a MATLAB code which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.

quadrature_weights_vandermonde_2d, a MATLAB code which computes the weights of a 2D quadrature rule using the Vandermonde matrix, assuming that the points have been specified.

rbf_interp_2d, a MATLAB code which defines and evaluates radial basis function (RBF) interpolants to 2D data.

shepard_interp_2d, a MATLAB code which defines and evaluates Shepard interpolants to 2D data, based on inverse distance weighting.

test_interp_2d, a MATLAB code which defines test problems for interpolation of data z(x,y), depending on a 2D argument.

toms886, a MATLAB code which defines the Padua points for interpolation in a 2D region, including the rectangle, triangle, and ellipse, by Marco Caliari, Stefano de Marchi, Marco Vianello. This is ACM TOMS algorithm 886.

vandermonde_interp_2d, a MATLAB code which finds a polynomial interpolant to data z(x,y) of a 2D argument by setting up and solving a linear system for the polynomial coefficients, involving the Vandermonde matrix.

### Reference:

1. Marco Caliari, Stefano de Marchi, Marco Vianello,
Bivariate interpolation on the square at new nodal sets,
Applied Mathematics and Computation,
Volume 165, Number 2, 2005, pages 261-274.
2. Marco Caliari, Stefano de Marchi, Marco Vianello,