## MB02SZ

### LU factorization of a complex upper Hessenberg matrix H

[Specification] [Arguments] [Method] [References] [Comments] [Example]

Purpose

To compute an LU factorization of a complex n-by-n upper
Hessenberg matrix H using partial pivoting with row interchanges.

Specification
SUBROUTINE MB02SZ( N, H, LDH, IPIV, INFO )
C     .. Scalar Arguments ..
INTEGER           INFO, LDH, N
C     .. Array Arguments ..
INTEGER           IPIV(*)
COMPLEX*16        H(LDH,*)

Arguments

Input/Output Parameters

N       (input) INTEGER
The order of the matrix H.  N >= 0.

H       (input/output) COMPLEX*16 array, dimension (LDH,N)
On entry, the n-by-n upper Hessenberg matrix to be
factored.
On exit, the factors L and U from the factorization
H = P*L*U; the unit diagonal elements of L are not stored,
and L is lower bidiagonal.

LDH     INTEGER
The leading dimension of the array H.  LDH >= max(1,N).

IPIV    (output) INTEGER array, dimension (N)
The pivot indices; for 1 <= i <= N, row i of the matrix
was interchanged with row IPIV(i).

Error Indicator
INFO    INTEGER
= 0:  successful exit;
< 0:  if INFO = -i, the i-th argument had an illegal
value;
> 0:  if INFO = i, U(i,i) is exactly zero. The
factorization has been completed, but the factor U
is exactly singular, and division by zero will occur
if it is used to solve a system of equations.

Method
The factorization has the form
H = P * L * U
where P is a permutation matrix, L is lower triangular with unit
diagonal elements (and one nonzero subdiagonal), and U is upper
triangular.

This is the right-looking Level 2 BLAS version of the algorithm

References
-

Numerical Aspects
2
The algorithm requires 0( N ) complex operations.