KokkosLapack::potrf

Defined in header: KokkosLapack_potrf.hpp

template <class execution_space, class AViewType>
void potrf([[maybe_unused]] const execution_space& space, const char uplo[], const int& n, AViewType& A, const int& lda) {

Computes the Cholesky factorization of a complex Hermitian positive definite matrix A \(A\)

\[A = U**H * U, if UPLO = 'U', or A = L * L**H, if UPLO = 'L', A=Q*R\]

where \(A\) is the input matrix and is the factor U or L from the Cholesky factorization \(A = U**H*U or A = L*L**H\) on exit.

  1. Overwrites \(A\) with the Cholesky factorization using the resources of space.

Parameters

space:

execution space instance.

uplo:

‘U’: Upper triangle of A is stored, else lower triangle

n:

The order of the matrix A. n >= 0.

A:

The input matrix (lda,n) on entry and the Cholesky factorization on return.

lda:

The leading dimension of matrix A. lda >= max(1,n).

Type Requirements

  • ExecutionSpace must be a Kokkos execution space

  • AMatrix must be a Kokkos View of rank 2 that satisfies: - AMatrix::rank == 2, i.e., AMatrix represents a matrix, - AMatrix::value_type is a supported scalar type (for example, float, double, or a corresponding Kokkos::complex type), - AMatrix::array_layout is Kokkos::LayoutLeft, - the memory space of AMatrix is accessible from ExecutionSpace, i.e. Kokkos::SpaceAccessibility<ExecutionSpace, typename AMatrix::memory_space>::accessible is true.

Example

TBD