sygvd_scratchpad_size#
Computes size of scratchpad memory required for sygvd function.
Description
sygvd_scratchpad_size` supports the following precisions.
T
float
double
Computes the number of elements of type T
the scratchpad memory to be passed to sygvd function should be able to hold.
Calls to this routine must specify the template parameter explicitly.
sygvd_scratchpad_size#
Syntax
namespace oneapi::mkl::lapack {
template <typename T>
std::int64_t sygvd_scratchpad_size(cl::sycl::queue &queue, std::int64_t itype, oneapi::mkl::job jobz, oneapi::mkl::uplo upper_lower, std::int64_t n, std::int64_t lda, std::int64_t ldb)
}
Input Parameters
- queue
Device queue where calculations by sygvd function will be performed.
- itype
Must be 1 or 2 or 3. Specifies the problem type to be solved:
if \(\text{itype} = 1\), the problem type is \(Ax = \lambda Bx\);
if \(\text{itype} = 2\), the problem type is \(ABx = \lambda x\);
if \(\text{itype} = 3\), the problem type is \(BAx = \lambda x\).
- jobz
Must be
job::novec
orjob::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
oruplo::lower
.If
upper_lower = job::upper
,a
andb
store the upper triangular part of \(A\) and \(B\).If
upper_lower = job::lower
,a
andb
stores the lower triangular part of \(A\) and \(B\).- n
The order of the matrices \(A\) and \(B\) \((0 \le n)\).
- lda
The leading dimension of
a
.- ldb
The leading dimension of
b
.
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::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 sygvd function should be able to hold.
Parent topic: LAPACK Singular Value and Eigenvalue Problem Routines