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, J1 is 1, while for the remaining panels, J1 is 2.
inmThe dimension of the submatrix. M >= 0.
innbThe dimension of the panel to be factorized.
inoutASingle complex array, dimension (lda, m) for the first panel, while dimension (lda, m+1) for the remaining panels.
inldaThe leading dimension of the array A. lda >= max(1, m).
outipivInteger array, dimension (m). Details of the row and column interchanges.
inoutHSingle complex workspace, dimension (ldh, nb).
inldhThe leading dimension of the workspace H. ldh >= max(1, m).
outworkSingle complex workspace, 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, J1 is 1, while for the remaining panels, J1 is 2.
inmThe dimension of the submatrix. M >= 0.
innbThe dimension of the panel to be factorized.
inoutADouble complex array, dimension (lda, m) for the first panel, while dimension (lda, m+1) for the remaining panels.
inldaThe leading dimension of the array A. lda >= max(1, m).
outipivInteger array, dimension (m). Details of the row and column interchanges.
inoutHDouble complex workspace, dimension (ldh, nb).
inldhThe leading dimension of the workspace H. ldh >= max(1, m).
outworkDouble complex workspace, 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
);