A newer version of this document is available. Customers should click here to go to the newest version.
syevx_scratchpad_size
Computes size of scratchpad memory required for syevx (USM Version) function. This routine belongs to the oneapi::mkl::lapack namespace.
Description
Computes the number of elements of type T the scratchpad memory to be passed to the syevx (buffer or USM version) function must be able to hold.
API
Syntax
namespace oneapi::mkl::lapack {
  template<typename T>
  int64_t syevx_scratchpad_size(sycl::queue &queue,
  mkl::job jobz,
  mkl::rangev range,
  mkl::uplo uplo,
  int64_t n,
  int64_t lda,
  T vl,
  T vu,
  int64_t il,
  int64_t iu,
  T abstol,
  int64_t ldz)
} 
    
   Input Parameters
- queue
 -  
     
Device queue where calculations by the syevx (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.
 - range
 -  
     
Must be rangev::all, rangev::values or rangev::indices.
If range = rangev::all, then all the eigenvalues and eigenvectors (if requested by jobz parameters) are computed.
If range = rangev::values, then eigenvalues in the interval (vl, vu] and corresponding eigenvectors (if requested by jobz parameters) are computed.
If range = rangev::indices, then the il-th through iu-th eigenvalues and corresponding eigenvectors (if requested by jobz parameters) are computed.
 - uplo
 -  
     
Must be uplo::upper or uplo::lower.
If uplo = uplo::upper, a stores the upper triangular part of A.
If uplo = uplo::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).
 - vl
 -  
     
If range = rangev::values, the lower bound of the interval to be searched for eigenvalues. vl must be less than vu. Not referenced if range = rangev::all or range = rangev::indices.
 - vu
 -  
     
If range = rangev::values, the upper bound of the interval to be searched for eigenvalues. vl must be less than vu. Not referenced if range = rangev::all or range = rangev::indices.
 - il
 -  
     
If range = rangev::indices, the one-based index of the smallest eigenvalue to be returned. Must be 1 ≤ il ≤ iu ≤ n if n > 0 and il = 1 and iu = 0 if n = 0. Not referenced if range = rangev::all or range = rangev::values.
 - iu
 -  
     
If range = rangev::indices, the one-based index of the largest eigenvalue to be returned. Must be 1 ≤ il ≤ iu ≤ n if n > 0 and il = 1 and iu = 0 if n = 0. Not referenced if range = rangev::all or range = rangev::values.
 - abstol
 -  
     
The absolute error tolerance for the eigenvalues. An approximate eigenvalue is accepted as converged when it is determined to lie in an interval [a,b] of width less than or equal to abstol + eps * max( |a|,|b| ), where eps is the machine precision. If abstol is less than or equal to zero, then eps*|T| will be used in its place, where |T| is the 1-norm of the tridiagonal matrix obtained by reducing A to tridiagonal form.
 - ldz
 -  
     
The leading dimension of z. Must be at least max(1,n).
 
Exceptions
Exception  |  
        Description  |  
       
|---|---|
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 syevx (buffer or USM version) function must be able to hold.