Solve Linear Systems After Cholesky Factorization#

POTRS (POsitive definite TRiangular Solve) function solves a system of linear equations

\[A * X = B\]

by overwriting B with the solution X.

cuSolverDx POTRS device functions (see Execution Methods):

__device__ void execute(data_type* A, data_type* B);
// with runtime lda and ldb
__device__ void execute(const data_type* A, const unsigned int lda,
                              data_type* B, const unsigned int ldb);

A is a batched M x M Hermitian matrix (with leading dimension lda >= M), only the lower or upper part is meaningful. The input FillMode operator indicates which part of the matrix A is used.

On entry, A contains a Cholesky factorization. For lower fill mode, the triangular factor L is contained in the lower triangle of the matrix. For upper fill mode, the triangular factor U is contained in the upper triangle of the matrix.

B is a batched right hand side matrix, each batch of size M x NRHS. The operation is in-place, i.e. matrix X overwrites matrix B with the same leading dimension ldb.

The function supports A and B either being the same or different column- or row-major layouts, see Arrangement operator.