PADUA
2D Pointsets for Interpolation or Integration


PADUA is a C++ 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.

Licensing:

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

Languages:

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 C++ library which investigates the exactness of 2D quadrature rules that estimate the integral of a function f(x,y) over a 2D domain.

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

QUADRATURE_WEIGHTS_VANDERMONDE_2D, a C++ 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 C++ library which defines and evaluates radial basis function (RBF) interpolants to 2D data.

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

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

TOMS886, a C++ 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 ACM TOMS algorithm 886.

VANDERMONDE_INTERP_2D, a C++ 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.

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,
    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 C++ source codes.


Last revised on 30 April 2014.