VandermondeMatrix
✖
VandermondeMatrix
Details and Options



- Vandermonde matrices, when represented as structured arrays, allow for efficient storage and more efficient operations, including Det, Inverse and LinearSolve.
- Vandermonde matrices occur in computations related to polynomial interpolation and the computation of moments in the monomial basis.
- The nodes xi need not be numerical and need not be distinct.
- A non-confluent Vandermonde matrix (xi distinct) has entries given by
.
- A confluent Vandermonde matrix (xi not all distinct) is the limiting form of a non-confluent Vandermonde matrix when two or more nodes are allowed to approach each other. »
- In the non-confluent case, the solution {a0,…}=LinearSolve[V,{b1,…}] gives the coefficients of the polynomial
that interpolates the points {xi,bi} such that
.
- In the confluent case, the solution {a0,…}=LinearSolve[V,{b1,…}] gives the coefficients of the Hermite interpolating polynomial, where the repeated xi correspond to derivative information provided.
- Operations that are accelerated for VandermondeMatrix include:
-
Det time Inverse time LinearSolve time - For a VandermondeMatrix sa, the following properties "prop" can be accessed as sa["prop"]:
-
"Nodes" vector of nodes xi "Multiplicities" multiplicities of each unique node "Permutation" permutation list "Confluent" whether the matrix is confluent "Transposed" whether the matrix is transposed "Properties" list of supported properties "Structure" type of structured array "StructuredData" internal data stored by the structured array "StructuredAlgorithms" list of functions with special methods for the structured array "Summary" summary information, represented as a Dataset - Normal[VandermondeMatrix[x]] gives the Vandermonde matrix as an ordinary matrix.
- VandermondeMatrix[…,TargetStructure->struct] returns the Vandermonde matrix in the format specified by struct. Possible settings include:
-
Automatic automatically choose the representation returned "Dense" represent the matrix as a dense matrix "Structured" represent the matrix as a structured array - VandermondeMatrix[…,TargetStructureAutomatic] is equivalent to VandermondeMatrix[…,TargetStructure"Structured"].

Examples
open allclose allBasic Examples (2)Summary of the most common use cases
Construct a Vandermonde matrix with symbolic entries:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-n8t2ck


https://wolfram.com/xid/0bzrzp181ahx1k5sy-cbmlaq


https://wolfram.com/xid/0bzrzp181ahx1k5sy-eqlw3y

Construct a Vandermonde matrix with numerical entries:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-c8lcdu

Get the ordinary representation of the matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-eeqd95

Solve a linear system with the matrix (a dual Vandermonde problem):

https://wolfram.com/xid/0bzrzp181ahx1k5sy-u4oi7

The solution gives the coefficients of an interpolating polynomial approximating the cosine:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-9ceg5

Scope (8)Survey of the scope of standard use cases
A rectangular Vandermonde matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-gnt35e


https://wolfram.com/xid/0bzrzp181ahx1k5sy-bqieku

A confluent Vandermonde matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-eauaqp


https://wolfram.com/xid/0bzrzp181ahx1k5sy-1rv04

A rectangular confluent Vandermonde matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-4c00k


https://wolfram.com/xid/0bzrzp181ahx1k5sy-d0dv8n

Represent a non-confluent Vandermonde matrix as a structured array:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-djvtl1


https://wolfram.com/xid/0bzrzp181ahx1k5sy-c571jd

The structured representation typically uses much less memory:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-e0dv3v


https://wolfram.com/xid/0bzrzp181ahx1k5sy-jvuy24

VandermondeMatrix objects include properties that give information about the array:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-b621dk


https://wolfram.com/xid/0bzrzp181ahx1k5sy-llpipt

The "Nodes" property gives the vector of nodes that generates the Vandermonde matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-b3ncvr

The "Permutation" property gives a permutation vector associated with the Vandermonde matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-f8yagt

The "Multiplicities" property gives the multiplicities of each unique node:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-dekfcz

The "Confluent" property gives True if the Vandermonde matrix is confluent, and False otherwise:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-erdqia

The "Transposed" property gives True if the Vandermonde matrix is transposed, and False otherwise:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-bfsfe3

The "Summary" property gives a brief summary of information about the array:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-ut0aor

The "StructuredAlgorithms" property gives a list of functions that have algorithms that use the structure of the representation:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-33g6sl

Structured algorithms are typically faster and/or more accurate:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-jajv3g


https://wolfram.com/xid/0bzrzp181ahx1k5sy-h4wwr


https://wolfram.com/xid/0bzrzp181ahx1k5sy-ml6h5t

The exact determinant can be computed:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-bgh4uz

The value computed from VandermondeMatrix is much more accurate:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-dsy6lj

The structured algorithms may avoid problems from ill-conditioning:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-byr1t3

Solve the linear system using VandermondeMatrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-bdt03t

Solve the linear system using the normal matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-0v8jz

The residual is smaller with VandermondeMatrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-uzcir


https://wolfram.com/xid/0bzrzp181ahx1k5sy-m6mh1


https://wolfram.com/xid/0bzrzp181ahx1k5sy-crtupb

When appropriate, structured algorithms return another structured array:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-otpl4i

Evaluating its conjugate transpose gives a structured result:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-hz2rsy

The product with the original matrix is no longer a Vandermonde matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-gmznoq

Options (1)Common values & functionality for each option
Applications (7)Sample problems that can be solved with this function
Generate a set of n+1 distinct samples from a function:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-b6k58x

Use VandermondeMatrix to find a polynomial of degree n that interpolates the function at those samples:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-gzy4g

https://wolfram.com/xid/0bzrzp181ahx1k5sy-hsyyfj

Compare the original function and the interpolating polynomial:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-baog51

Determine the coefficients of a polynomial that satisfies the interpolation conditions
and the derivative conditions
:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-cqfod


https://wolfram.com/xid/0bzrzp181ahx1k5sy-b5m5h8

Verify that the interpolation and derivative conditions are satisfied:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-tcjnd


https://wolfram.com/xid/0bzrzp181ahx1k5sy-nxjqn

Define a set of 4 distinct points:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-7dth5
Fit a cubic Vandermonde polynomial to the set of points:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-g5yd1x
Columns of the inverse of the VandermondeMatrix define a set of polynomials of degree n, called Lagrange polynomials:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-b3ywji
Lagrange polynomials satisfy the identity :

https://wolfram.com/xid/0bzrzp181ahx1k5sy-upeie

Represent the Vandermonde polynomial in terms of Lagrange polynomials:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-kz10t3


https://wolfram.com/xid/0bzrzp181ahx1k5sy-ds6tfa

Define a polynomial with roots :

https://wolfram.com/xid/0bzrzp181ahx1k5sy-cdb8qu
Construct a VandermondeMatrix from the roots:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-kvnwhg
The Frobenius companion matrix of a polynomial with known roots is similar to a diagonal matrix containing the roots, with the Vandermonde matrix acting as the similarity transformation:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-j5fh7d

The last column of the Frobenius companion matrix contains the negative of coefficients of the polynomial up to degree n-1:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-b09gel

These are also the same as the elementary symmetric polynomials, up to sign:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-c8gy0

Solve for the coefficients of an n-order finite difference formula:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-dyxu9x

Assemble the finite difference formula:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-gewy40

This is equivalent to the result of DifferenceQuotient:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-bxwjp0

Define a function for computing the nodes and weights of a closed Newton–Cotes rule [MathWorld]:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-dvhwnh
The trapezoidal rule is the order-1 Newton–Cotes formula:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-eeb5pq

Simpson's rule is the order-2 Newton–Cotes formula:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-e4uuu

Boole's rule is the order-4 Newton–Cotes formula:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-hahl3f

An n-term sum of exponential functions:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-gcy1pl
Sample the exponential function at points:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-fex8ty

Use Prony's method [Wikipedia] to recover the sum of exponentials from the data:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-bnhuba

Properties & Relations (6)Properties of the function, and connections to other functions
A confluent Vandermonde matrix can be obtained as the limit of a non-confluent matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-inx12q

Take the successive divided differences of each row:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-bkc7iq

The limit as is the confluent Vandermonde matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-jus98w

FourierMatrix can be represented as a VandermondeMatrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-844dq

The discriminant of a polynomial can be expressed as the square of Det of a VandermondeMatrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-bf9kdq

Solve a confluent Vandermonde system:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-6o150

These are the coefficients of InterpolatingPolynomial with derivative values specified:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-gwpifb

Demonstrate a factorization of the inverse of a Vandermonde matrix in terms of diagonal, Vandermonde and Hankel matrices:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-gocjyw

Express a Cauchy matrix as a product of diagonal, Vandermonde and Hankel matrices:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-fymf5y

Neat Examples (2)Surprising or curious use cases

https://wolfram.com/xid/0bzrzp181ahx1k5sy-1h94k
Define a function for computing the Krylov matrix from a given matrix and vector:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-byju7l
Compute the eigenvalues of the matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-cqab4s

The action of a matrix exponential on a vector can be expressed in terms of a Krylov matrix and the inverse of a Vandermonde matrix:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-czlxc8

Verify that the same result can be obtained from MatrixExp:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-csoq97

Verify that the same result can be obtained from DSolveValue:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-djicel

Linear Caputo differential equations can also be solved in terms of a Krylov matrix and the inverse of a Vandermonde matrix, along with the Mittag–Leffler function MittagLefflerE:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-jocpb5

Verify that the same result can be obtained from DSolveValue:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-fsjc6n

The Butcher tableau of an implicit Runge–Kutta method can be obtained by solving a primal Vandermonde system constructed from the roots of a Legendre polynomial:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-bg0qtt

Define a function for computing the implicit Runge–Kutta–Gauss coefficients to a given precision:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-y85ekd
Use these coefficients in NDSolveValue to solve a stiff differential equation modeling flame propagation, due to Shampine:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-gyj4lh

Compare the result with the exact solution:

https://wolfram.com/xid/0bzrzp181ahx1k5sy-bxx49r

Wolfram Research (2022), VandermondeMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/VandermondeMatrix.html (updated 2023).
Text
Wolfram Research (2022), VandermondeMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/VandermondeMatrix.html (updated 2023).
Wolfram Research (2022), VandermondeMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/VandermondeMatrix.html (updated 2023).
CMS
Wolfram Language. 2022. "VandermondeMatrix." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/VandermondeMatrix.html.
Wolfram Language. 2022. "VandermondeMatrix." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/VandermondeMatrix.html.
APA
Wolfram Language. (2022). VandermondeMatrix. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/VandermondeMatrix.html
Wolfram Language. (2022). VandermondeMatrix. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/VandermondeMatrix.html
BibTeX
@misc{reference.wolfram_2025_vandermondematrix, author="Wolfram Research", title="{VandermondeMatrix}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/VandermondeMatrix.html}", note=[Accessed: 30-May-2025
]}
BibLaTeX
@online{reference.wolfram_2025_vandermondematrix, organization={Wolfram Research}, title={VandermondeMatrix}, year={2023}, url={https://reference.wolfram.com/language/ref/VandermondeMatrix.html}, note=[Accessed: 30-May-2025
]}