Previous topic

scipy.linalg.rsf2csf

Next topic

scipy.linalg.expm

scipy.linalg.hessenberg

scipy.linalg.hessenberg(a, calc_q=False, overwrite_a=False, check_finite=True)[source]

Compute Hessenberg form of a matrix.

The Hessenberg decomposition is:

A = Q H Q^H

where Q is unitary/orthogonal and H has only zero elements below the first sub-diagonal.

Parameters:

a : (M, M) array_like

Matrix to bring into Hessenberg form.

calc_q : bool, optional

Whether to compute the transformation matrix. Default is False.

overwrite_a : bool, optional

Whether to overwrite a; may improve performance. Default is False.

check_finite : bool, optional

Whether to check that the input matrix contains only finite numbers. Disabling may give a performance gain, but may result in problems (crashes, non-termination) if the inputs do contain infinities or NaNs.

Returns:

H : (M, M) ndarray

Hessenberg form of a.

Q : (M, M) ndarray

Unitary/orthogonal similarity transformation matrix A = Q H Q^H. Only returned if calc_q=True.