trtrs#
Functions
-
void strtrs(const char *uplo, const char *trans, const char *diag, const INT n, const INT nrhs, const f32 *restrict A, const INT lda, f32 *restrict B, const INT ldb, INT *info)#
STRTRS solves a triangular system of the form.
A * X = B or A**T * X = B,
where A is a triangular matrix of order N, and B is an N-by-NRHS matrix.
This routine verifies that A is nonsingular, but callers should note that only exact singularity is detected. It is conceivable for one or more diagonal elements of A to be subnormally tiny numbers without this routine signalling an error.
If a possible loss of numerical precision due to near-singular matrices is a concern, the caller should verify that A is nonsingular within some tolerance before calling this routine.
Parameters
inuplo= ‘U’: A is upper triangular; = ‘L’: A is lower triangular.
intransSpecifies the form of the system of equations:
’N’: A * X = B (No transpose)
’T’: A**T * X = B (Transpose)
’C’: A**H * X = B (Conjugate transpose = Transpose)
indiag= ‘N’: A is non-unit triangular; = ‘U’: A is unit triangular.
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.
inADouble precision array, dimension (lda, n). The triangular matrix A. If uplo = “U”, the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If uplo = “L”, the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If diag = “U”, the diagonal elements of A are also not referenced and are assumed to be 1.
inldaThe leading dimension of the array A. lda >= max(1,n).
inoutBDouble precision array, dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, if info = 0, the solution matrix X.
inldbThe leading dimension of the array B. ldb >= max(1,n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i, the i-th diagonal element of A is exactly zero, indicating that the matrix is singular and the solutions X have not been computed.
void strtrs(
const char* uplo,
const char* trans,
const char* diag,
const INT n,
const INT nrhs,
const f32* restrict A,
const INT lda,
f32* restrict B,
const INT ldb,
INT* info
);
Functions
-
void dtrtrs(const char *uplo, const char *trans, const char *diag, const INT n, const INT nrhs, const f64 *restrict A, const INT lda, f64 *restrict B, const INT ldb, INT *info)#
DTRTRS solves a triangular system of the form.
A * X = B or A**T * X = B,
where A is a triangular matrix of order N, and B is an N-by-NRHS matrix.
This routine verifies that A is nonsingular, but callers should note that only exact singularity is detected. It is conceivable for one or more diagonal elements of A to be subnormally tiny numbers without this routine signalling an error.
If a possible loss of numerical precision due to near-singular matrices is a concern, the caller should verify that A is nonsingular within some tolerance before calling this routine.
Parameters
inuplo= ‘U’: A is upper triangular; = ‘L’: A is lower triangular.
intransSpecifies the form of the system of equations:
’N’: A * X = B (No transpose)
’T’: A**T * X = B (Transpose)
’C’: A**H * X = B (Conjugate transpose = Transpose)
indiag= ‘N’: A is non-unit triangular; = ‘U’: A is unit triangular.
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.
inADouble precision array, dimension (lda, n). The triangular matrix A. If uplo = “U”, the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If uplo = “L”, the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If diag = “U”, the diagonal elements of A are also not referenced and are assumed to be 1.
inldaThe leading dimension of the array A. lda >= max(1,n).
inoutBDouble precision array, dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, if info = 0, the solution matrix X.
inldbThe leading dimension of the array B. ldb >= max(1,n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i, the i-th diagonal element of A is exactly zero, indicating that the matrix is singular and the solutions X have not been computed.
void dtrtrs(
const char* uplo,
const char* trans,
const char* diag,
const INT n,
const INT nrhs,
const f64* restrict A,
const INT lda,
f64* restrict B,
const INT ldb,
INT* info
);
Functions
-
void ctrtrs(const char *uplo, const char *trans, const char *diag, const INT n, const INT nrhs, const c64 *restrict A, const INT lda, c64 *restrict B, const INT ldb, INT *info)#
CTRTRS solves a triangular system of the form.
A * X = B, A**T * X = B, or A**H * X = B,
where A is a triangular matrix of order N, and B is an N-by-NRHS matrix.
This routine verifies that A is nonsingular, but callers should note that only exact singularity is detected. It is conceivable for one or more diagonal elements of A to be subnormally tiny numbers without this routine signalling an error.
If a possible loss of numerical precision due to near-singular matrices is a concern, the caller should verify that A is nonsingular within some tolerance before calling this routine.
Parameters
inuplo= ‘U’: A is upper triangular; = ‘L’: A is lower triangular.
intransSpecifies the form of the system of equations:
’N’: A * X = B (No transpose)
’T’: A**T * X = B (Transpose)
’C’: A**H * X = B (Conjugate transpose)
indiag= ‘N’: A is non-unit triangular; = ‘U’: A is unit triangular.
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.
inASingle complex array, dimension (lda, n). The triangular matrix A. If uplo = “U”, the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If uplo = “L”, the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If diag = “U”, the diagonal elements of A are also not referenced and are assumed to be 1.
inldaThe leading dimension of the array A. lda >= max(1,n).
inoutBSingle complex array, dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, if info = 0, the solution matrix X.
inldbThe leading dimension of the array B. ldb >= max(1,n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i, the i-th diagonal element of A is exactly zero, indicating that the matrix is singular and the solutions X have not been computed.
void ctrtrs(
const char* uplo,
const char* trans,
const char* diag,
const INT n,
const INT nrhs,
const c64* restrict A,
const INT lda,
c64* restrict B,
const INT ldb,
INT* info
);
Functions
-
void ztrtrs(const char *uplo, const char *trans, const char *diag, const INT n, const INT nrhs, const c128 *restrict A, const INT lda, c128 *restrict B, const INT ldb, INT *info)#
ZTRTRS solves a triangular system of the form.
A * X = B, A**T * X = B, or A**H * X = B,
where A is a triangular matrix of order N, and B is an N-by-NRHS matrix.
This routine verifies that A is nonsingular, but callers should note that only exact singularity is detected. It is conceivable for one or more diagonal elements of A to be subnormally tiny numbers without this routine signalling an error.
If a possible loss of numerical precision due to near-singular matrices is a concern, the caller should verify that A is nonsingular within some tolerance before calling this routine.
Parameters
inuplo= ‘U’: A is upper triangular; = ‘L’: A is lower triangular.
intransSpecifies the form of the system of equations:
’N’: A * X = B (No transpose)
’T’: A**T * X = B (Transpose)
’C’: A**H * X = B (Conjugate transpose)
indiag= ‘N’: A is non-unit triangular; = ‘U’: A is unit triangular.
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides, i.e., the number of columns of the matrix B. nrhs >= 0.
inADouble complex array, dimension (lda, n). The triangular matrix A. If uplo = “U”, the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If uplo = “L”, the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If diag = “U”, the diagonal elements of A are also not referenced and are assumed to be 1.
inldaThe leading dimension of the array A. lda >= max(1,n).
inoutBDouble complex array, dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, if info = 0, the solution matrix X.
inldbThe leading dimension of the array B. ldb >= max(1,n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
> 0: if info = i, the i-th diagonal element of A is exactly zero, indicating that the matrix is singular and the solutions X have not been computed.
void ztrtrs(
const char* uplo,
const char* trans,
const char* diag,
const INT n,
const INT nrhs,
const c128* restrict A,
const INT lda,
c128* restrict B,
const INT ldb,
INT* info
);