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)#
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
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
ssytrf_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.
inoutAArray 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 of A to be factorized, except for the first panel, only the panel is passed. On exit, the leading panel is factorized.inldaThe leading dimension of the array A.
lda>=max(1,m).outipivArray of dimension
m. Details of the row and column interchanges, the row and columnkwere interchanged with the row and columnipiv[k].inoutHWorkspace of dimension
(ldh,nb).inldhThe leading dimension of the workspace H.
ldh>=max(1,m).outworkWorkspace of dimension
m.
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
);
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)#
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
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
dsytrf_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.
inoutAArray 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 of A to be factorized, except for the first panel, only the panel is passed. On exit, the leading panel is factorized.inldaThe leading dimension of the array A.
lda>=max(1,m).outipivArray of dimension
m. Details of the row and column interchanges, the row and columnkwere interchanged with the row and columnipiv[k].inoutHWorkspace of dimension
(ldh,nb).inldhThe leading dimension of the workspace H.
ldh>=max(1,m).outworkWorkspace of dimension
m.
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
);
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)#
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
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
csytrf_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.
inoutAComplex 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 of A to be factorized, except for the first panel, only the panel is passed. On exit, the leading panel is factorized.inldaThe leading dimension of the array A.
lda>=max(1,m).outipivArray of dimension
m. Details of the row and column interchanges, the row and columnkwere interchanged with the row and columnipiv[k].inoutHComplex workspace of dimension
(ldh,nb).inldhThe leading dimension of the workspace H.
ldh>=max(1,m).outworkComplex workspace of dimension
m.
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
);
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)#
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
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
zsytrf_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.
inoutAComplex 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 of A to be factorized, except for the first panel, only the panel is passed. On exit, the leading panel is factorized.inldaThe leading dimension of the array A.
lda>=max(1,m).outipivArray of dimension
m. Details of the row and column interchanges, the row and columnkwere interchanged with the row and columnipiv[k].inoutHComplex workspace of dimension
(ldh,nb).inldhThe leading dimension of the workspace H.
ldh>=max(1,m).outworkComplex workspace of dimension
m.
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
);