HessenbergDecomposition

HessenbergDecomposition[m]

gives the Hessenberg decomposition of a numerical matrix m.

Details and Options

  • The result is given in the form {p,h} where p is a unitary matrix such that p.h.Conjugate[Transpose[p]]==m.
  • The matrix m must be square.

Examples

open allclose all

Basic Examples  (1)

Find the Hessenberg decomposition of a 4×4 matrix:

The matrix h is an upper Hessenberg matrix:

Scope  (2)

Hessenberg decomposition works for complex matrices:

A matrix with entries having 24digit precision:

The Hessenberg decomposition is computed using 24-digit precision:

Applications  (1)

A 4×4 random symmetric matrix:

Compute its Hessenberg decomposition:

Do 100 iterations of the unshifted QR algorithm:

The eigenvalues lie along the diagonal:

Properties & Relations  (1)

A random 4×4 matrix:

Compute its Hessenberg decomposition:

The matrix is unitary:

The matrix is upper Hessenberg:

The original matrix is given by p.h.ConjugateTranspose[p]:

Possible Issues  (1)

HessenbergDecomposition works only with matrices of approximate numerical values:

Use JordanDecomposition for exact matrices:

Introduced in 2004
 (5.1)