Hermitian tridiagonalization

The Hermitian matrix A could be represented as A=Q·T·QH, where Q is an unitary matrix, and T is a real tridiagonal matrix. We can say that matrix A is reduced to a tridiagonal matrix via a similarity transformation: QH·A·Q = T.

As a result of HMatrixTD subroutine, matrix A is replaced by the tridiagonal matrix T and a sequence of reflections transformations stored in a compact form. The format of the matrix and the subroutine parameters are described in detail in the subroutine comments; there we can note an analogy with QR-decomposition, that uses the lower triangular part of the matrix R to store the matrix Q and utilizes a very similar data storage format. As with QR decomposition, a subroutine for "unpacking" the matrix Q is presented: HMatrixTDUnpackQ.

This algorithm is transferred from the LAPACK library.

This article is licensed for personal use only.

Download ALGLIB for C++ / C# / Java / Python / ...

ALGLIB Project offers you two editions of ALGLIB:

ALGLIB Free Edition:
+delivered for free
+offers full set of numerical functionality
+extensive algorithmic optimizations
-no multithreading
-non-commercial license

ALGLIB Commercial Edition:
+flexible pricing
+offers full set of numerical functionality
+extensive algorithmic optimizations
+high performance (SMP, SIMD)
+commercial license with support plan

Links to download sections for Free and Commercial editions can be found below:

ALGLIB 4.03.0 for C++

C++ library.
Delivered with sources.
Monolithic design.
Extreme portability.
Editions:   FREE   COMMERCIAL

ALGLIB 4.03.0 for C#

C# library with native kernels.
Delivered with sources.
VB.NET and IronPython wrappers.
Extreme portability.
Editions:   FREE   COMMERCIAL

ALGLIB 4.03.0 for Java

Java wrapper around HPC core.
Delivered with sources.
Seamless integration with Java.
Editions:   FREE   COMMERCIAL

ALGLIB 4.03.0 for Delphi

Delphi wrapper around C core.
Delivered as precompiled binary.
Compatible with FreePascal.
Editions:   FREE   COMMERCIAL

ALGLIB 4.03.0 for CPython

CPython wrapper around C core.
Delivered as precompiled binary.
Editions:   FREE   COMMERCIAL