sygvd_scratchpad_size

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(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 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 and b store the upper triangular part of \(A\) and \(B\).

If upper_lower = job::lower, a and b 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.

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