Accelerating the pace of engineering and science

# Documentation Center

• Trial Software

# linalg::vandermonde

Vandermonde matrices and their inverses

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```linalg::vandermonde([v1, v2, …], <R>)
```

## Description

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.

## Examples

### 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)`

`domtype(V)`

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:`

## Parameters

 v1, v2, … The Vandermonde nodes: arithmetical expressions R The component ring: a domain of category Cat::Rng; default: Dom::ExpressionField()

## Return Values

n×n matrix of the domain Dom::Matrix(R).

## Algorithms

Vandermonde matrices are notoriously ill-conditioned. The inverses of large floating-point Vandermonde matrices are subject to severe round-off effects.