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)#
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
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
inj1The 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,j1is 1, while for the remaining panels,j1is 2.inmThe dimension of the submatrix.
m>=0.innbThe dimension of the panel to be factorized.
inoutASingle complex array of dimension
(lda,m)for the first panel, while dimension(lda,m+1)for the remaining panels. On entry, A contains the last row or column of the previous panel and the trailing submatrix to be factorized; for the first panel, only the panel is passed. On exit, the leading panel is factorized.inldaThe leading dimension of A.
lda>=max(1,m).outipivInteger array of dimension
m. Details of the row and column interchanges: row and column k were interchanged with row and column ipiv[k].inoutHSingle complex workspace of dimension
(ldh,nb).inldhThe leading dimension of H.
ldh>=max(1,m).outworkSingle complex workspace of dimension
m.
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
);
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)#
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
inuplo'U': Upper triangle of A is stored'L': Lower triangle of A is stored
inj1The 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,j1is 1, while for the remaining panels,j1is 2.inmThe dimension of the submatrix.
m>=0.innbThe dimension of the panel to be factorized.
inoutADouble complex array of dimension
(lda,m)for the first panel, while dimension(lda,m+1)for the remaining panels. On entry, A contains the last row or column of the previous panel and the trailing submatrix to be factorized; for the first panel, only the panel is passed. On exit, the leading panel is factorized.inldaThe leading dimension of A.
lda>=max(1,m).outipivInteger array of dimension
m. Details of the row and column interchanges: row and column k were interchanged with row and column ipiv[k].inoutHDouble complex workspace of dimension
(ldh,nb).inldhThe leading dimension of H.
ldh>=max(1,m).outworkDouble complex workspace of dimension
m.
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
);