potrs_batch (Buffer Strided Version)¶
Solves a system of linear equations with a Cholesky-factored symmetric
(Hermitian) positive-definite coefficient matrices. This routine belongs
to the oneapi::mkl::lapack
namespace.
Description¶
The routine solves for X
i the system of linear equations
A
i*X
i = B
i with a
symmetric positive-definite or, for complex data, Hermitian
positive-definite matrices A
i, given the Cholesky
factorization of A
i, i ϵ{1...batch_size}
:
A
i =U
iT*U
i for real data,A
i =U
iH*U
i for complex data if uplo=mkl::uplo::upper
A
i =L
i*L
iT for real data,A
i =L
i*L
iH for complex data if uplo=mkl::uplo::lower
where L
i is a lower triangular matrix and
U
i is upper triangular. The system is solved with
multiple right-hand sides stored in the columns of the matrix
B
i.
Before calling this routine, matrices A
i should be
factorized by a call to potrf_batch (Buffer Strided Version).
API¶
Syntax¶
namespace oneapi::mkl::lapack {
void potrs_batch(cl::sycl::queue &queue,
mkl::uplo uplo,
std::int64_t n,
std::int64_t nrhs,
cl::sycl::buffer<T> &a,
std::int64_t lda,
std::int64_t stride_a,
cl::sycl::buffer<T> &b,
std::int64_t ldb,
std::int64_t stride_b,
std::int64_t batch_size,
cl::sycl::buffer<T> &scratchpad,
std::int64_t scratchpad_size)
}
Function supports the following precisions and devices.
T |
Devices supported |
---|---|
|
Host, CPU, and GPU |
|
Host, CPU, and GPU |
|
Host, CPU, and GPU |
|
Host, CPU, and GPU |
Input Parameters¶
- queue
Device queue where calculations will be performed.
- uplo
Indicates how the input matrix has been factored:
If uplo=
mkl::uplo::upper
, the upper triangleU
i ofA
i is stored, whereA
i =U
iT*U
i for real data,A
i =U
iH*U
i for complex data.If uplo=
mkl::uplo::lower
, the upper triangleL
i ofA
i is stored, whereA
i =L
i*L
iT for real data,A
i =L
i*L
iH for complex data.- n
The order of the matrices
A
i (0 ≤ n
).- nrhs
The number of right hand sides
(0≤nrhs)
.- a
Array containing the batch of factorizations of the matrices
A
i, as returned by potrf_batch (Buffer Strided Version).- lda
The leading dimension of
A
i.- stride_a
The stride between the beginnings of matrices inside the batch array
a
.- b
The array containing the batch of matrices
B
i whose columns are the right-hand sides for the systems of equations.- ldb
The leading dimensions of
B
i.- stride_b
The stride between the beginnings of matrices
B
i inside the batch arrayb
.- batch_size
Specifies the number of problems in a batch.
- scratchpad
Scratchpad memory to be used by 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 then the value returned by stride version of potrs_batch_scratchpad_size (Strided Version) function.
Output Parameters¶
- b
The batch array b is overwritten by the solution matrix
X
i.
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 If If |