Vandermonde matrix

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.

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

Create a 3×3 Vandermonde matrix:

V := linalg::vandermonde([v1, v2, v3])

V is a matrx of the domain Dom::Matrix().


You 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)


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?