Vandermonde matrices and their inverses

Use only in the MuPAD Notebook Interface.

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.


Example 1

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)

delete V:


v1, v2, …

The Vandermonde nodes: arithmetical expressions


The component ring: a domain of category Cat::Rng; default: Dom::ExpressionField()

Return Values

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.

Was this topic helpful?