Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

?lahef

Computes a partial factorization of a complex Hermitian indefinite matrix, using the diagonal pivoting method.

Syntax

call clahef
(
uplo
,
n
,
nb
,
kb
,
a
,
lda
,
ipiv
,
w
,
ldw
,
info
)
call zlahef
(
uplo
,
n
,
nb
,
kb
,
a
,
lda
,
ipiv
,
w
,
ldw
,
info
)
Include Files
  • mkl.fi
Description
The routine
?lahef
computes a partial factorization of a complex Hermitian matrix
A
, using the Bunch-Kaufman diagonal pivoting method. The partial factorization has the form:
If
uplo
= 'U'
:
Equation
If
uplo
= 'U'
:
Equation
where the order of
D
is at most
nb
.
The actual order is returned in the argument
kb
, and is either
nb
or
nb
-1, or
n
if
n
nb
.
Note that
U
H
denotes the conjugate transpose of
U
.
This is an auxiliary routine called by
?hetrf
. It uses blocked code (calling Level 3 BLAS) to update the submatrix
A
11
(if
uplo
=
'U'
) or
A
22
(if
uplo
=
'L'
).
Input Parameters
uplo
CHARACTER*1
.
Specifies whether the upper or lower triangular part of the Hermitian matrix
A
is stored:
=
'U'
: upper triangular
=
'L'
: lower triangular
n
INTEGER
. The order of the matrix
A
.
n
0
.
nb
INTEGER
. The maximum number of columns of the matrix
A
that should be factored.
nb
should be at least 2 to allow for 2-by-2 pivot blocks.
a
COMPLEX
for
clahef
DOUBLE COMPLEX
for
zlahef
.
Array,
DIMENSION
(
lda
,
n
).
On entry, the Hermitian matrix
A
.
If
uplo
=
'U'
, the leading
n
-by-
n
upper triangular part of
A
contains the upper triangular part of the matrix
A
, and the strictly lower triangular part of
A
is not referenced.
If
uplo
=
'L'
, the leading
n
-by-
n
lower triangular part of
A
contains the lower triangular part of the matrix
A
, and the strictly upper triangular part of
A
is not referenced.
lda
INTEGER
. The leading dimension of the array
a
.
lda
max(1,
n
)
.
w
COMPLEX
for
clahef
DOUBLE COMPLEX
for
zlahef
.
Workspace array,
DIMENSION
(
ldw
,
nb
).
ldw
INTEGER
. The leading dimension of the array
w
.
ldw
max(1,
n
)
.
Output Parameters
k