potrs_batch¶
Solves a system of linear equations with a batch of Cholesky-factored symmetric (Hermitian) positive-definite coefficient matrices.
potrs_batch
supports the following precisions.
T
float
double
std::complex<float>
std::complex<double>
Description
The routine solves for X
i , in batch fashion, the
system of linear equations A
i*X
i =
B
i with a symmetric positive-definite or, for complex
data, Hermitian positive-definite matrix A
, given the Cholesky
factorization of A
:
A
i = U
iT * U
i for
real data, If uplo[i] = onemkl::uplo::upper
A
i = U
iH * U
i for
complex data.
A
i = L
iT * L
i for
real data, If uplo[i] = onemkl::uplo::lower
A
i = L
iH * L
i for
complex data.
Where L
i is a lower triangular matrix and
U
i is an upper triangular matrix.
potrs_batch (BUFFER Version)¶
Syntax
-
void
onemkl::lapack
::
potrs_batch
(cl::sycl::queue &queue, std::vector<onemkl::uplo> const &uplo, std::vector<std::int64_t> const &n, std::vector<std::int64_t> const &nrhs, std::vector<cl::sycl::buffer<T, 1>> &a, std::vector<std::int64_t> const &lda, std::vector<cl::sycl::buffer<T, 1>> &b, std::vector<std::int64_t> const &ldb, std::vector<cl::sycl::buffer<std::int64_t, 1>> &info)¶
Input Parameters
- queue
The queue where the routine should be executed.
- uplo
A vector,
uplo[i]
indicates whether the upper or lower triangular part of the matrixA
i is stored and howA
i is factored:If
uplo = onemkl::upper
, then buffera[i]
stores the upper triangular part ofA
i and the strictly lower triangular part of the matrix is not referenced.If
uplo = onemkl::lower
, then buffera[i]
stores the lower triangular part ofA
i and the strictly upper triangular part of the matrix is not referenced.- n
A vector,
n[i]
is the number of columns of the batch matrixA
i(0≤n[i])
.- nrhs
A vector,
nrhs[i]
is the number of right-hand sides(0≤nrhs)
.- a
A vector of buffers returned by potrf_batch.
a[i]
must be of size at leastlda[i]*max(1, n[i])
.- lda
A vector,
lda[i]
is the leading dimension ofa[i] (n[i]≤lda[i])
.- b
A vector of buffers,
b[i]
contains the matrixB
i whose columns are the right-hand sides for the systems of equations. The second dimension ofb[i]
must be at leastmax(1,nrhs[i])
.- ldb
A vector,
ldb[i]
is the leading dimension ofb[i]
.
Output Parameters
- b
b[i]
is overwritten by the solution matrixX[i]
.- info
Vector of buffers containing error information.
If
info[i]=0
, the execution is successful.If
info[i]=k
, thek
-th diagonal element of the Cholesky factor is zero and the solve could not be completed.If
info[i]=-k
, thek
-th parameter had an illegal value.
Parent topic: LAPACK-like Extensions Routines