hetrs_aa#

Functions

void chetrs_aa(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const c64*  restrict A,
    const INT            lda,
    const INT*  restrict ipiv,
          c64*  restrict B,
    const INT            ldb,
          c64*  restrict work,
    const INT            lwork,
          INT*           info
);
void chetrs_aa(const char *uplo, const INT n, const INT nrhs, const c64 *restrict A, const INT lda, const INT *restrict ipiv, c64 *restrict B, const INT ldb, c64 *restrict work, const INT lwork, INT *info)#

CHETRS_AA solves a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U**H*T*U or A = L*T*L**H computed by CHETRF_AA.

Parameters

in
uplo

  • 'U': Upper triangular, form is A = U**H*T*U

  • 'L': Lower triangular, form is A = L*T*L**H

in
n

The order of the matrix A. n>=0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs>=0.

in
A

Array of dimension (lda,n). Details of factors computed by chetrf_aa.

in
lda

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

in
ipiv

Array of dimension n. Details of the interchanges as computed by chetrf_aa.

inout
B

Array of dimension (ldb,nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.

in
ldb

The leading dimension of the array B. ldb>=max(1,n).

out
work

Array of dimension max(1,lwork).

in
lwork

The dimension of the array work. If min(n,nrhs)=0, lwork>=1, else lwork>=3*n-2. If lwork=-1, then a workspace query is assumed; the routine only calculates the minimal size of the work array, returns this value as the first entry of the work array, and no error message related to lwork is issued.

out
info

  • info=0: successful exit

  • info<0: if info=-i, the i-th argument had an illegal value

Functions

void zhetrs_aa(
    const char*          uplo,
    const INT            n,
    const INT            nrhs,
    const c128* restrict A,
    const INT            lda,
    const INT*  restrict ipiv,
          c128* restrict B,
    const INT            ldb,
          c128* restrict work,
    const INT            lwork,
          INT*           info
);
void zhetrs_aa(const char *uplo, const INT n, const INT nrhs, const c128 *restrict A, const INT lda, const INT *restrict ipiv, c128 *restrict B, const INT ldb, c128 *restrict work, const INT lwork, INT *info)#

ZHETRS_AA solves a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U**H*T*U or A = L*T*L**H computed by ZHETRF_AA.

Parameters

in
uplo

  • 'U': Upper triangular, form is A = U**H*T*U

  • 'L': Lower triangular, form is A = L*T*L**H

in
n

The order of the matrix A. n>=0.

in
nrhs

The number of right hand sides, i.e., the number of columns of the matrix B. nrhs>=0.

in
A

Array of dimension (lda,n). Details of factors computed by zhetrf_aa.

in
lda

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

in
ipiv

Array of dimension n. Details of the interchanges as computed by zhetrf_aa.

inout
B

Array of dimension (ldb,nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.

in
ldb

The leading dimension of the array B. ldb>=max(1,n).

out
work

Array of dimension max(1,lwork).

in
lwork

The dimension of the array work. If min(n,nrhs)=0, lwork>=1, else lwork>=3*n-2. If lwork=-1, then a workspace query is assumed; the routine only calculates the minimal size of the work array, returns this value as the first entry of the work array, and no error message related to lwork is issued.

out
info

  • info=0: successful exit

  • info<0: if info=-i, the i-th argument had an illegal value