# line_fekete_rule

line_fekete_rule, a FORTRAN90 code which approximates the location of Fekete points in an interval [A,B]. A family of sets of Fekete points, indexed by size N, represents an excellent choice for defining a polynomial interpolant.

Given a desired number of points N, the best choice for abscissas is a set of Lebesgue points, which minimize the Lebesgue constant, which describes the error in polynomial interpolation. Sets of Lebesgue points are difficult to define mathematically. Fekete points are a related, computable set, defined as those sets maximizing the magnitude of the determinant of the Vandermonde matrix associated with the points. Analytic definitions of these points are known for a few cases, but there is a general computational procedure for approximating them, which is demonstrated here.

### Licensing:

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

### Languages:

line_fekete_rule is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and a Octave version.

### Related Data and Programs:

lebesgue, a FORTRAN90 code which is given a set of nodes in 1D, and plots the Lebesgue function, and estimates the Lebesgue constant, which measures the maximum magnitude of the potential error of Lagrange polynomial interpolation.

LINE_FELIPPA_RULE, a FORTRAN90 code which returns the points and weights of a Felippa quadrature rule over the interior of a line segment in 1D.

LINE_GRID, a FORTRAN90 code which computes a grid of points over the interior of a line segment in 1D.

LINE_NCC_RULE, a FORTRAN90 code which computes a Newton Cotes Closed (NCC) quadrature rule for the line, that is, for an interval of the form [A,B], using equally spaced points which include the endpoints.

LINE_NCO_RULE, a FORTRAN90 code which computes a Newton Cotes Open (NCO) quadrature rule, using equally spaced points, over the interior of a line segment in 1D.

QR_SOLVE, a FORTRAN90 code which computes the least squares solution of a linear system A*x=b.

QUADRATURE_WEIGHTS_VANDERMONDE, a FORTRAN90 code which computes the weights of a quadrature rule using the Vandermonde matrix, assuming that the points have been specified.

TRIANGLE_FEKETE_RULE, a FORTRAN90 code which defines Fekete rules for quadrature or interpolation over a triangle.

VANDERMONDE, a FORTRAN90 code which carries out certain operations associated with the Vandermonde matrix.

### Reference:

1. Len Bos, Norm Levenberg,
On the calculation of approximate Fekete points: the univariate case,
Electronic Transactions on Numerical Analysis,
Volume 30, pages 377-397, 2008.
2. Alvise Sommariva, Marco Vianello,
Computing approximate Fekete points by QR factorizations of Vandermonde matrices,
Computers and Mathematics with Applications,
Volume 57, 2009, pages 1324-1336.

### Source Code:

Last revised on 27 July 2020.