Cholesky Factorization and Solve#
POSV (POsitive definite linear SolVe) function solves the system
by factoring A
with Cholesky factorization and overwriting B
with the solution X
. The function POSV is equivalent to executing a POTRS immediately followed by POTRF.
cuSolverDx POSV
device functions (see Execution Methods):
__device__ void execute(data_type* A, data_type* B, status_type* info);
// with runtime lda and ldb
__device__ void execute(data_type* A, const unsigned int lda,
data_type* B, const unsigned int ldb,
status_type* info);
A
is a batched M x M
Hermitian matrix (with leading dimension lda >= M
), only lower or upper part is meaningful. The input FillMode operator indicates which part of the matrix A
is used.
For lower fill mode, only the lower triangular part of A
is processed, and replaced by the lower triangular Cholesky factor L
. The upper part of the matrix is untouched.
For upper fill mode, only upper triangular part of A
is processed, and replaced by upper triangular Cholesky factor U
. The lower part of the matrix is untouched.
B
is a batched M x NRHS
right hand side matrix, the leading dimension of B
is ldb >= rnhs
if B
is in column-major layout, or ldb >= M
if B
is row-major.
The output matrix X
overwrites B
with the same arrangement and leading dimension ldb
.
The function supports A
and B
either being the same or different column- or row-major layouts, see Arrangement operator.