## Developer Reference

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

# ?lasyf

Computes a partial factorization of a symmetric matrix, using the diagonal pivoting method.

## Syntax

Include Files
• mkl.fi
Description
The routine
?
lasyf
computes a partial factorization of a symmetric matrix
A
using the Bunch-Kaufman diagonal pivoting method. The partial factorization has the form:
If
uplo
= 'U'
: uplo
= 'L' 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
.
This is an auxiliary routine called by
?sytrf
. 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 symmetric 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
REAL
for
slasyf
DOUBLE PRECISION
for
dlasyf
COMPLEX
for
clasyf
DOUBLE COMPLEX
for
zlasyf
.
Array,
DIMENSION
(
lda
,
n
). If
uplo
=
'U'
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'
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
REAL
for
slasyf
DOUBLE PRECISION
for
dlasyf
COMPLEX
for
clasyf
DOUBLE COMPLEX
for
zlasyf
.
Workspace array,
DIMENSION
(
ldw
,
nb
).
ldw
INTEGER
. The leading dimension of the array
w
.
ldw
max(1,
n
)
.