2D Pointsets for Interpolation or Integration

PADUA is a FORTRAN77 library which returns the coordinates of the 2D Padua points, as well as interpolation weights or quadrature weights, and images of the points in gnuplot graphics files.


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


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

Related Data and Programs:

EXACTNESS_2D, a FORTRAN77 library which investigates the exactness of 2D quadrature rules that estimate the integral of a function f(x,y) over a 2D domain.

GNUPLOT, FORTRAN77 programs which illustrate how a program can write data and command files so that gnuplot can create plots of the program results.

LAGRANGE_INTERP_2D, a FORTRAN77 library 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 FORTRAN77 library which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.

QUADRATURE_WEIGHTS_VANDERMONDE_2D, a FORTRAN77 library which computes the weights of a 2D quadrature rule using the Vandermonde matrix, assuming that the points have been specified.

RBF_INTERP_2D, a FORTRAN77 library which defines and evaluates radial basis function (RBF) interpolants to 2D data.

SHEPARD_INTERP_2D, a FORTRAN77 library which defines and evaluates Shepard interpolants to 2D data, based on inverse distance weighting.

TEST_INTERP_2D, a FORTRAN77 library which defines test problems for interpolation of data z(x,y), depending on a 2D argument.

TOMS886, a FORTRAN77 library 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 a version of ACM TOMS algorithm 886.

VANDERMONDE_INTERP_2D, a FORTRAN77 library 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:

Examples and Tests:

The program creates GNUPLOT command and data files, which can be used to create a PNG image of the points.

List of Routines:

You can go up one level to the FORTRAN77 source codes.

Last revised on 09 June 2014.