lahef_aa#

Functions

void clahef_aa(
    const char*          uplo,
    const INT            j1,
    const INT            m,
    const INT            nb,
          c64*  restrict A,
    const INT            lda,
          INT*  restrict ipiv,
          c64*  restrict H,
    const INT            ldh,
          c64*  restrict work
);
void clahef_aa(const char *uplo, const INT j1, const INT m, const INT nb, c64 *restrict A, const INT lda, INT *restrict ipiv, c64 *restrict H, const INT ldh, c64 *restrict work)#

CLAHEF_AA factorizes a panel of a complex hermitian matrix A using the 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, the 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)-th row, or column, of A (without the unit diagonals), while the diagonal and subdiagonal of A are overwritten by those of T.

Parameters

in
uplo

= ‘U’: Upper triangle of A is stored; = ‘L’: Lower triangle of A is stored.

in
j1

The location of the first row, or column, of the panel within the submatrix of A, passed to this routine, e.g., when called by CHETRF_AA, for the first panel, J1 is 1, while for the remaining panels, J1 is 2.

in
m

The dimension of the submatrix. M >= 0.

in
nb

The dimension of the panel to be factorized.

inout
A

Single complex array, dimension (lda, m) for the first panel, while dimension (lda, m+1) for the remaining panels.

in
lda

The leading dimension of the array A. lda >= max(1, m).

out
ipiv

Integer array, dimension (m). Details of the row and column interchanges.

inout
H

Single complex workspace, dimension (ldh, nb).

in
ldh

The leading dimension of the workspace H. ldh >= max(1, m).

out
work

Single complex workspace, dimension (m).

Functions

void zlahef_aa(
    const char*          uplo,
    const INT            j1,
    const INT            m,
    const INT            nb,
          c128* restrict A,
    const INT            lda,
          INT*  restrict ipiv,
          c128* restrict H,
    const INT            ldh,
          c128* restrict work
);
void zlahef_aa(const char *uplo, const INT j1, const INT m, const INT nb, c128 *restrict A, const INT lda, INT *restrict ipiv, c128 *restrict H, const INT ldh, c128 *restrict work)#

ZLAHEF_AA factorizes a panel of a complex hermitian matrix A using the 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, the 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)-th row, or column, of A (without the unit diagonals), while the diagonal and subdiagonal of A are overwritten by those of T.

Parameters

in
uplo

= ‘U’: Upper triangle of A is stored; = ‘L’: Lower triangle of A is stored.

in
j1

The location of the first row, or column, of the panel within the submatrix of A, passed to this routine, e.g., when called by ZHETRF_AA, for the first panel, J1 is 1, while for the remaining panels, J1 is 2.

in
m

The dimension of the submatrix. M >= 0.

in
nb

The dimension of the panel to be factorized.

inout
A

Double complex array, dimension (lda, m) for the first panel, while dimension (lda, m+1) for the remaining panels.

in
lda

The leading dimension of the array A. lda >= max(1, m).

out
ipiv

Integer array, dimension (m). Details of the row and column interchanges.

inout
H

Double complex workspace, dimension (ldh, nb).

in
ldh

The leading dimension of the workspace H. ldh >= max(1, m).

out
work

Double complex workspace, dimension (m).