heevd_scratchpad_size

Computes size of scratchpad memory required for heevd (USM Version) function. This routine belongs to the oneapi::mkl::lapacknamespace.

Syntax

template<typename T>
std::int64_t heevd_scratchpad_size(cl::sycl::queue &queue, mkl::job jobz, mkl::uplo uplo, std::int64_t n, std::int64_t lda)

Description

Computes the number of elements of type T the scratchpad memory to be passed to the heevd (buffer or USM version) function should be able to hold.

Input Parameters

queue

Device queue where calculations by the heevd (buffer or USM version) function will be performed.

jobz

Must be job::novec or job::vec.

If jobz = job::novec, then only eigenvalues are computed.

If jobz = job::vec, then eigenvalues and eigenvectors are computed.

uplo

Must be uplo::upper or uplo::lower.

If uplo = job::upper, a stores the upper triangular part of A.

If uplo = job::lower, a stores the lower triangular part of A.

n

The order of the matrix A (0≤n).

lda

The leading dimension of a. Must be at least max(1,n).

Exceptions

mkl::lapack::exception

This exception is thrown when an incorrect argument value is supplied. You can determine the position of the incorrect argument by the info() method of the exception object.

Return Values

The number of elements of type T the scratchpad memory to be passed to the heevd (buffer or USM version) function should be able to hold.