padua


padua, a C++ code 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 MIT license

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:

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

padua_test

PWL_INTERP_2D, a C++ code which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.

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

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

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

TOMS886, a C++ 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 C++ 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,
    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 30 March 2020.