trtrs#
Solves a system of linear equations with a triangular coefficient
matrix, with multiple right-hand sides. This routine belongs to the
oneapi::mkl::lapack namespace.
Description#
The routine solves for X the following systems of linear
equations with a triangular matrix A, with multiple right-hand
sides stored in B:
A*X = B |
if |
|
|
if |
|
AH |
if |
API#
Syntax#
namespace oneapi::mkl::lapack {
void trtrs(sycl::queue &queue,
mkl::uplo uplo,
mkl::transpose trans,
mkl::diag diag,
int64_t n,
int64_t nrhs,
sycl::buffer<T> &a,
int64_t lda,
sycl::buffer<T> &b,
int64_t ldb,
sycl::buffer<T> &scratchpad,
int64_t scratchpad_size)
}
trtrs supports the following precisions and devices.
T |
Devices supported |
|---|---|
|
CPU and GPU |
|
CPU and GPU |
|
CPU and GPU |
|
CPU and GPU |
Input Parameters#
- queue
Device queue where calculations will be performed.
- uplo
Indicates whether
Ais upper or lower triangular:If uplo =
uplo::upper, thenAis upper triangular.If uplo =
uplo::lower, thenAis lower triangular.- trans
If transa =
transpose::nontrans, thenA*X=Bis solved forX.If transa =
transpose::trans, thenAT*X=Bis solved forX.If transa =
transpose::conjtrans, thenAH*X=Bis solved forX.- diag
If diag =
diag::nonunit, thenAis not a unit triangular matrix.If diag =
diag::unit, thenAis unit triangular: diagonal elements ofAare assumed to be 1 and not referenced in the array a.- n
The order of
A; the number of rows inB;n ≥ 0.- nrhs
The number of right-hand sides;
nrhs ≥ 0.- a
Array containing the matrix
A. The size ofamust be at leastlda*n.- lda
The leading dimension of
a;lda ≥ max(1, n).- b
Array containing the matrix
Bwhose columns are the right-hand sides for the systems of equations. The size ofbmust be at leastldb*nrhs.- ldb
The leading dimension of
b;ldb ≥ max(1, n).- scratchpad
Buffer holding scratchpad memory to be used by the routine for storing intermediate results.
- scratchpad_size
Size of scratchpad memory as a number of floating point elements of type
T. Size should not be less than the value returned by the trtrs_scratchpad_size function.
Output Parameters#
- b
Overwritten by the solution matrix
X.
Exceptions#
Exception |
Description |
|---|---|
|
This exception is thrown when problems occur during calculations. You can obtain the info code of the problem using the info() method of the exception object: If |
Return Values#
- info
Buffer containing error information.
If
info= 0, the execution is successful.If
info= -i, thei-th parameter had an illegal value.