hankel_spd, a Python code which can compute a lower triangular matrix L which is the Cholesky factor of a symmetric positive definite (SPD) Hankel matrix H, that is, H = L * L'.

A Hankel matrix is a matrix which is constant along all antidiagonals. A schematic of a 5x5 Hankel matrix would be:

        a  b  c  d  e
        b  c  d  e  f
        c  d  e  f  g
        d  e  f  g  h
        e  f  g  h  i

Let J represent the exchange matrix, formed by reverse the order of the columns of the identity matrix. If H is a Hankel matrix, then J*H and J*H are Toeplitz matrices, and similarly in the other direction. Hence many algorithms that apply to one class can be easily adapted to the other.


The computer code and data files described and made available on this web page are distributed under the MIT license


hankel_spd is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

hankel_cholesky, a Python code which computes the upper Cholesky factor R of a symmetric positive definite (SPD) Hankel matrix H so that H = R' * R..


  1. S Al-Homidan, M Alshahrani,
    Positive Definite Hankel Matrices Using Cholesky Factorization,
    Computational Methods in Applied Mathematics,
    Volume 9, Number 3, 2009, pages 221-225.

Source Code:

Last modified on 10 March 2020.