# potri¶

Computes the inverse of a symmetric (Hermitian) positive-definite matrix using the Cholesky factorization.

Description

potri supports the following precisions.

T

float

double

std::complex<float>

std::complex<double>

The routine computes the inverse $$A^{-1}$$ of a symmetric positive definite or, for complex flavors, Hermitian positive-definite matrix $$A$$. Before calling this routine, call potrf to factorize $$A$$.

## potri (Buffer Version)¶

Syntax

namespace oneapi::mkl::lapack {
void potri(sycl::queue &queue, oneapi::mkl::uplo upper_lower, std::int64_t n, sycl::buffer<T,1> &a, std::int64_t lda, sycl::buffer<T,1> &scratchpad, std::int64_t scratchpad_size)
}


Input Parameters

queue

The queue where the routine should be executed.

upper_lower

Indicates how the input matrix $$A$$ has been factored:

If upper_lower = oneapi::mkl::uplo::upper, the upper triangle of $$A$$ is stored.

If upper_lower = oneapi::mkl::uplo::lower, the lower triangle of $$A$$ is stored.

n

Specifies the order of the matrix $$A$$ ($$0 \le n$$).

a

Contains the factorization of the matrix $$A$$, as returned by potrf. The second dimension of a must be at least $$\max(1, n)$$.

lda

The leading dimension of a.

Size of scratchpad memory as a number of floating point elements of type T. Size should not be less than the value returned by potri_scratchpad_size function.

Output Parameters

a

Overwritten by the upper or lower triangle of the inverse of $$A$$. Specified by upper_lower.

Buffer holding scratchpad memory to be used by routine for storing intermediate results.

## potri (USM Version)¶

Syntax

namespace oneapi::mkl::lapack {
sycl::event potri(sycl::queue &queue, oneapi::mkl::uplo upper_lower, std::int64_t n, T *a, std::int64_t lda, T *scratchpad, std::int64_t scratchpad_size, const std::vector<sycl::event> &events = {})
}


Input Parameters

queue

The queue where the routine should be executed.

upper_lower

Indicates how the input matrix $$A$$ has been factored:

If upper_lower = oneapi::mkl::uplo::upper, the upper triangle of $$A$$ is stored.

If upper_lower = oneapi::mkl::uplo::lower, the lower triangle of $$A$$ is stored.

n

Specifies the order of the matrix $$A$$ ($$0 \le n$$).

a

Contains the factorization of the matrix $$A$$, as returned by potrf. The second dimension of a must be at least $$\max(1, n)$$.

lda

The leading dimension of a.

Size of scratchpad memory as a number of floating point elements of type T. Size should not be less than the value returned by potri_scratchpad_size function.

events

List of events to wait for before starting computation. Defaults to empty list.

Output Parameters

a

Overwritten by the upper or lower triangle of the inverse of $$A$$. Specified by upper_lower.