heevd_scratchpad_size

Computes size of scratchpad memory required for heevd function.

Description

heevd_scratchpad_size supports the following precisions.

T

std::complex<float>

std::complex<double>

Computes the number of elements of type T the scratchpad memory to be passed to heevd function should be able to hold. Calls to this routine must specify the template parameter explicitly.

heevd_scratchpad_size

Syntax

namespace oneapi::mkl::lapack {
  template <typename T>
  std::int64_t heevd_scratchpad_size(cl::sycl::queue &queue, onemkl::job jobz, onemkl::uplo upper_lower, std::int64_t n, std::int64_t lda)
}

Input Parameters

queue

Device queue where calculations by heevd 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.

upper_lower

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

If upper_lower = job::upper, a stores the upper triangular part of \(A\).

If upper_lower = job::lower, a stores the lower triangular part of \(A\).

n

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

lda

The leading dimension of a.

Throws

This routine shall throw the following exceptions if the associated condition is detected. An implementation may throw additional implementation-specific exception(s) in case of error conditions not covered here.

oneapi::mkl::unimplemented

oneapi::mkl::unsupported_device

oneapi::mkl::lapack::invalid_argument

Exception is thrown in case of incorrect supplied argument value. Position of wrong argument can be determined by info() method of exception object.

Return Value

The number of elements of type T the scratchpad memory to be passed to heevd function should be able to hold.

Parent topic: LAPACK Singular Value and Eigenvalue Problem Routines