Vandermonde matrices and their inverses
This functionality does not run in MATLAB.
linalg::vandermonde([v1, v2, …], <R>)
linalg::vandermonde( v1, v2, ... , vn) returns the n×n Vandermonde matrix V with entries Vij = vij - 1.
Use linalg::vandermonde([ v1, ..., vn], R) to define the n×n Vandermonde matrix over the field R. Note that the Vandermonde nodes vi must be elements of R or must be convertible to elements of R. The same holds true for the inverse Vandermonde matrix.
Vandermonde matrices of dimension n×n can be inverted with O(n2) operations. Linear equations with a Vandermonde coefficient matrix can be solved via linalg::vandermondeSolve.
We construct a 3×3 Vandermonde matrix:
V := linalg::vandermonde([v1, v2, v3])
The inverse of this matrix is:
linalg::invvandermonde([v1, v2, v3])
V and its inverse are matrices of the domain Dom::Matrix(). One can specify a special component ring for the matrices, provided the nodes can be converted to elements of the ring. For example, specification of the domain Dom::Float generates floating-point entries:
V := linalg::vandermonde([2, PI, 1/3], Dom::Float)
It is faster to compute the inverse via linalg::invvandermonde than inverting the Vandermonde matrix by a generic inversion algorithm (as implemented by V^(-1)):
V^(-1) = linalg::invvandermonde([2, PI, 1/3], Dom::Float)
v1, v2, …
The Vandermonde nodes: arithmetical expressions
n×n matrix of the domain Dom::Matrix(R).
Vandermonde matrices are notoriously ill-conditioned. The inverses of large floating-point Vandermonde matrices are subject to severe round-off effects.