gives the n×n Hankel matrix with first row and first column being successive integers.


gives the Hankel matrix whose first column consists of entries c1, c2, .

HankelMatrix[{c1,c2,,cm},{r1,r2,, rn}]

gives the Hankel matrix with entries ci down the first column, and ri across the last row.

Details and Options

  • Hankel matrices typically occur in applications related to approximation theory, functional analysis, numerical analysis and signal processing.
  • A Hankel matrix is a matrix that is constant along its antidiagonals. The entries of the Hankel matrix are given by if , and otherwise.
  • The entry cm must be the same as r1. »
  • For m=n, the Hankel matrix is a symmetric matrix and will have real eigenvalues if the entries ci and rj are all real.
  • HankelMatrix[,TargetStructure->struct] returns the Hankel matrix in the format specified by struct. Possible settings include:
  • Automaticautomatically choose the representation returned
    "Dense"represent the matrix as a dense matrix
    "Structured"represent the matrix as a structured array
  • With HankelMatrix[,TargetStructureAutomatic], a dense matrix is returned if the number of matrix entries is less than a preset threshold, and a structured array is returned otherwise.
  • For a structured HankelMatrix sa, the following properties "prop" can be accessed as sa["prop"]:
  • "ColumnVector"vector of entries down the first column
    "RowVector"vector of entries across the last row
    "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[HankelMatrix[]] converts the structured Hankel matrix to an ordinary matrix.


open allclose all

Basic Examples  (3)

A 4×4 Hankel matrix:

A 4×4 Hankel matrix with symbolic entries:

A rectangular Hankel matrix:

Scope  (9)

Make a Hankel matrix of machine numbers:

Make a Hankel matrix with 20-digit precision:

Hankel matrices with complex entries:

Rectangular Hankel matrices:

A common symbolic notation for Hankel matrices:

Generate a structured Hankel matrix:

The structured representation typically uses much less memory:

HankelMatrix objects include properties that give information about the array:

The "ColumnVector" property gives the first column of the Hankel matrix:

The "RowVector" property gives the last row of the Hankel matrix:

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

The "StructuredAlgorithms" property lists the functions that have structured algorithms:

When appropriate, structured algorithms return another HankelMatrix object:

The transpose is also a HankelMatrix:

The product of a Hankel matrix and its transpose is no longer a Hankel matrix:

Convert a dense Hankel matrix to a structured Hankel matrix:

Options  (2)

TargetStructure  (2)

Return the Hankel matrix as a dense matrix:

Return the Hankel matrix as a structured array:

With the setting TargetStructureAutomatic, a dense matrix is returned for small dimensions:

For large dimensions, a structured representation is returned:

Applications  (1)

An n-term sum of exponential functions:

Sample the exponential function at points:

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

Properties & Relations  (6)

The determinant of the Hankel matrix of size is :

A square Hankel matrix with real entries is symmetric:

HankelMatrix[c,RotateRight[c]] is a square anticirculant matrix:

Square anticirculant matrices have eigenvector {1,} with eigenvalue c1+c2+:

HankelMatrix and ToeplitzMatrix are related by multiplication with an exchange matrix (a reversed identity matrix):

Equivalently, reversing a Hankel matrix gives a Toeplitz matrix:

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

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

Possible Issues  (1)

If element cm is not the same as r1, cm is used and r1 is ignored:

Neat Examples  (1)

Visualize the entries of the Hankel matrix:

Wolfram Research (2007), HankelMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/HankelMatrix.html (updated 2023).


Wolfram Research (2007), HankelMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/HankelMatrix.html (updated 2023).


Wolfram Language. 2007. "HankelMatrix." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/HankelMatrix.html.


Wolfram Language. (2007). HankelMatrix. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/HankelMatrix.html


@misc{reference.wolfram_2023_hankelmatrix, author="Wolfram Research", title="{HankelMatrix}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/HankelMatrix.html}", note=[Accessed: 30-September-2023 ]}


@online{reference.wolfram_2023_hankelmatrix, organization={Wolfram Research}, title={HankelMatrix}, year={2023}, url={https://reference.wolfram.com/language/ref/HankelMatrix.html}, note=[Accessed: 30-September-2023 ]}