Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?lasyf_aa

Factorizes a panel of a real or complex symmetric matrix using Aasen's algorithm.

call slasyf_aa(uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)

call dlasyf_aa(uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)

call clasyf_aa(uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)

call zlasyf_aa(uplo, j1, m, nb, a, lda, ipiv, h, ldh, work)

Description

?lasyf_aa factorizes a panel of a real or complex symmetric matrix A using Aasen's algorithm. The panel consists of a set of nb rows of A when uplo is 'U', or a set of nb columns when uplo is 'L'. In order to factorize the panel, Aasen's algorithm requires the last row, or column, of the previous panel. The first row, or column, of A is set to be the first row, or column, of an identity matrix, which is used to factorize the first panel. The resulting j-th row of U, or j-th column of L, is stored in the (j-1)-st row, or column, of A (without the unit diagonals), while the diagonal and subdiagonal of A are overwritten by those of T.

Input Parameters

uplo

CHARACTER*1.

If uplo = 'U': Upper triangular of A is stored.

If uplo= 'L': Lower triangular of A is stored..

j1

INTEGER. The location of the first row, or column, of the panel within the submatrix of A, passed to this routine: when called by ?sytrf_aa, for the first panel, j1 is 1, while for the remaining panels, j1 is 2.

m

INTEGER. The size of the submatrix. m 0.

nb

INTEGER. The size of the panel to be factorized.

a

REAL for slasyf_aa

DOUBLE PRECISION for dlasyf_aa

REAL for clasyf_aa

COMPLEX*16 for zlasyf_aa

Array of size (lda, m) for the first panel, and size (lda,m + 1) for the remaining panels.

On entry, a contains the last row, or column, of the previous panel, and the trailing submatrix of a to be factorized, except for the first panel, when only the panel is passed.

lda

INTEGER. The leading dimension of the array a. lda max(1, n).

h

REAL for slasyf_aa

DOUBLE PRECISION for dlasyf_aa

REAL for clasyf_aa

COMPLEX*16 for zlasyf_aa

Workspace array of size (ldh,nb).

ldh

INTEGER. The leading dimension of the workspace h. ldh max(1, m).

Output Parameters

a

On exit, the leading panel is factorized.

ipiv

INTEGER . Array of size (n). Details of the row and column interchanges: the row and column k were interchanged with the row and column ipiv(k).

work

REAL for slasyf_aa

DOUBLE PRECISION for dlasyf_aa

REAL for clasyf_aa

COMPLEX*16 for zlasyf_aa

Workspace array of size(m).