lasyf_aa#

Functions

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

SLASYF_AA factorizes a panel of a real symmetric 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 SSYTRF_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 precision 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 precision workspace, dimension (ldh, nb).

in
ldh

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

out
work

Double precision workspace, dimension (m).

Functions

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

DLASYF_AA factorizes a panel of a real symmetric 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 DSYTRF_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 precision 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 precision workspace, dimension (ldh, nb).

in
ldh

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

out
work

Double precision workspace, dimension (m).

Functions

void clasyf_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 clasyf_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)#

CLASYF_AA factorizes a panel of a complex symmetric 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 CSYTRF_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 zlasyf_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 zlasyf_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)#

ZLASYF_AA factorizes a panel of a complex symmetric 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 ZSYTRF_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).