potrf (USM Version)¶
Computes the Cholesky factorization of a symmetric (Hermitian)
positive-definite matrix.This routine belongs to the
oneapi::mkl::lapack
namespace.
Syntax
-
cl::sycl::event
potrf
(cl::sycl::queue &queue, mkl::uplo uplo, std::int64_t n, T *a, std::int64_t lda, T *scratchpad, std::int64_t scratchpad_size, const cl::sycl::vector_class<cl::sycl::event> &events = {})¶
The USM version of potrf
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 |
Description
The routine forms the Cholesky factorization of a symmetric
positive-definite or, for complex data, Hermitian positive-definite
matrix A
:
|
if uplo= |
---|---|
|
if uplo= |
where L
is a lower triangular matrix and U
is upper
triangular.
Input Parameters
- queue
Device queue where calculations will be performed.
- uplo
Indicates whether the upper or lower triangular part of
A
is stored and howA
is factored:If uplo=
mkl::uplo::upper
, the arraya
stores the upper triangular part of the matrixA
, and the strictly lower triangular part of the matrix is not referenced.If uplo=
mkl::uplo::lower
, the arraya
stores the lower triangular part of the matrixA
, and the strictly upper triangular part of the matrix is not referenced.- n
Specifies the order of the matrix
A
(0≤n
).- a
Pointer to input matrix
A
. The array holding input matrix a contains either the upper or the lower triangular part of the matrixA
(see uplo). The second dimension of a must be at leastmax(1, n)
.- lda
The leading dimension of a.
- scratchpad
Pointer to 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 potrf_scratchpad_size function.- events
List of events to wait for before starting computation. Defaults to empty list.
Output Parameters
- a
The memory pointed to by pointer a is overwritten by the Cholesky factor
U
orL
, as specified by uplo.
Exceptions
mkl::lapack::exception |
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
Output event to wait on to ensure computation is complete.