Alvise Sommariva
Punti per interpolazione, mesh polinomiali e formule di cubatura in Matlab e Python
Interpolation pointsets, polynomial meshes and cubature rules in Matlab and Python
» Purpose of this homepage, cubature rules in Python, orthogonal polynomials in Python, weakly admissible meshes, cubature on some domains not included in this homepage (e.g. polygons, some circular domains, planar domains with boundary defined by splines/NURBS, spherical polygons, polyhedra, etc).
In this homepage we have stored several pointsets suitable for interpolation or cubature on intervals, simplex (triangle), square, disk, sphere and tetrahedron.
A comprehensive list of cubature rules in Phyton by Nico Schlömer can be found at
https://pypi.org/project/quadpy/
https://github.com/sigma-py/quadpy
A comprehensive list of orthogonal polynomials in Python by Nico Schlömer can be found at
https://github.com/sigma-py/orthopy
A comprehensive list of weakly admissible meshes (WAM) is available at
https://www.math.unipd.it/~marcov/wam.html
For cubature on domains that are not included in this page, as
trigonometric integration on subintervals of [0,2Π]
general polygons,
domains reated to circular arcs (e.g. sectors, circular segments, lunes, lenses),
bivariate domains whose boundary is defined by splines or NURBS,
polygonal domains with a circular edge,
union of disks,
spherical polygons,
spherical geographic rectangles,
union of balls (via QMC),
polyhedra,
see the software section
https://sites.google.com/view/alvisesommarivaunipd/home-page/software
» Interpolation
General set with low Lebesgue constant: [matlab]
Extended Chebyshev: [matlab]
Gauss-Legendre-Lobatto (Fekete points in the interval): [matlab]
» Quadrature
Gaussian rules (Dirk Laurie and Walter Gautschi repository, not available online anymore at the authors' homepages): [matlab]
» Polynomial basis
→ Note: The reference interval is [-1,1].
Vandermonde matrix defined by orthogonal polynomial basis w.r.t. Jacobi weights (several normalizations are taken into account): [matlab]
» Interpolation/Least squares sets
General set with low Lebesgue constant: [matlab] (last update: Jan 08, 2017, old version: [matlab]).
General set with low Lebesgue constant and Gauss-Legendre-Lobatto distribution on the side: [matlab]
General set with high absolute value of the Vandermonde matrix, i.e. (quasi-) Fekete points: [matlab]
Symmetric set with low Lebesgue constant: [matlab]
Weakly Admissible Mesh: [matlab]
Approximate Fekete points (with degree from 1 to 70): [matlab]
» Cubature
→ Note: The reference simplex has vertices (0,0), (1,0), (0,1).
Best cubature sets on the triangle (up to degree 50): [matlab]
Slobodkins-Tausch cubature sets on the triangle (up to degree 50): [matlab]
» Comparisons
For a comparison on several interpolation sets see also: [html].
For a comparison on several cubature sets see also: [html].
» Polynomial basis
You may find useful the M-file for the evaluation of the Vandermonde matrix w.r.t.Dubiner Legendre basis [matlab] as orthonormal basis; see also: [zip] where we test orthogonality of the basis.
Proriol-Dubiner [matlab] as orthogonal basis with its derivatives (in a form suitable for cubature, i.e. it is the transpose of the Vandermonde matrix for interpolation purposes).
» Interpolation
General set with low Lebesgue constant: [.m] (last update: Jan 08, 2017, old version: [matlab]).
General set with high absolute value of the Vandermonde matrix, i.e. (quasi-) Fekete points: [matlab]
Padua-Jacobi points with low Lebesgue constant: [matlab]
Padua-Jacobi points with high absolute value of the Vandermonde matrix: [matlab]
Padua points: [matlab]
» Cubature
→ Note: The reference square is [-1,1] x [-1,1].
Sommariva-Festa rules (Legendre weight): [matlab]
Slobodkins-Tausch rules (Legendre weight): [matlab]
Padua points rules (Legendre weight): [matlab]
Almost minimal rules (Legendre weight, lowest known cardinality): [matlab]
Morrow-Patterson-Xu (minimal w.r.t. a Chebyshev measure): [matlab]
Tensorial (Jacobi tensor product): [matlab]
» Polynomial basis
→ Note: The reference square is [-1,1] x [-1,1].
Vandermonde matrix defined by tensorial Chebyshev basis: [matlab]
» Interpolation/Least squares sets
WAM on Lissajous curves of the cube: [matlab]
» Cubature
Morrow-Patterson like (a tensorial Chebyshev measure): [matlab]
Tensor product rule (tensorial Jacobi measure): [matlab]
» Polynomial basis
→ Note: The reference cube is [-1,1] x [-1,1] x [-1,1].
Vandermonde matrix relative to the tensorial Chebyshev basis: [matlab]
» Cubature
→ Note: The reference tetrahedron has vertices is [0 0 0], [1 0 0], [0 1 0], [0 0 1]. In case of need we propose also the version with barycentrical coordinates, in which the sum of the weights is normalised to 1.
» Interpolation
Maximum Determinant (Fekete, Extremal) points on the sphere S2 (R. Womersley homepage).
Minimum Energy points on the sphere S2 (R. Womersley homepage).
Recursive Zonal Equal Area (EQ) Sphere Partitioning (P. Leopardi homepage).
» Cubature
Spherical designs: Efficient Spherical Designs with Good Geometric Properties (R. Womersley homepage).
Spherical designs: Quadrature Rules on Manifolds: Putatively Optimal Quadrature Rules on the Sphere S2 (M. Graf homepage).
Spherical designs: Spherical Designs (R. H. Hardin and N. J. A. Sloane homepage). Each file stores a unique vector v, so that x=v(1:3:end), y=v(2:3:end), z=v(3:3:end) and weights are equal.
Albrecht-Collatz rules: [matlab].
Heo-Xu rules: [matlab].
McLaren rules: [matlab].
» Polynomial basis
Vandermonde matrix defined by Spherical Harmonics (based on a code by Paul Leopardi): [matlab]