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.


The computer code and data files made available on this web page are distributed under the MIT license


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.


  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,
    Algorithm 886: Padua2D: Lagrange Interpolation at Padua Points on Bivariate Domains,
    ACM Transactions on Mathematical Software,
    Volume 35, Number 3, October 2008, Article 21, 11 pages.

Source Code:

Last revised on 17 February 2019.