gesvd_scratchpad_size#
Computes size of scratchpad memory required for gesvd function.
Description
gesvd_scratchpad_size
supports the following precisions.
T
float
double
std::complex<float>
std::complex<double>
Computes the number of elements of type T
the scratchpad memory to be passed to gesvd function should be able to hold.
Calls to this routine must specify the template parameter explicitly.
gesvd_scratchpad_size#
Syntax
namespace oneapi::mkl::lapack {
template <typename T>
std::int64_t gesvd_scratchpad_size(cl::sycl::queue &queue, oneapi::mkl::job jobu, oneapi::mkl::job jobvt, std::int64_t m, std::int64_t n, std::int64_t lda, std::int64_t ldu, std::int64_t ldvt)
}
Input Parameters
- queue
Device queue where calculations by gesvd function will be performed.
- jobu
Must be
job::allvec
,job::somevec
,job::overwritevec
, orjob::novec
. Specifies options for computing all or part of the matrix \(U\).If
jobu = job::allvec
, all \(m\) columns of \(U\) are returned in the bufferu
;if
jobu = job::somevec
, the first \(\min(m, n)\) columns of \(U\) (the left singular vectors) are returned in the bufferv
;if
jobu = job::overwritevec
, the first \(\min(m, n)\) columns of \(U\) (the left singular vectors) are overwritten on the buffera
;if
jobu = job::novec
, no columns of \(U\) (no left singular vectors) are computed.- jobvt
Must be
job::allvec
,job::somevec
,job::overwritevec
, orjob::novec
. Specifies options for computing all or part of the matrix \(V^T/V^H\).If
jobvt = job::allvec
, all \(n\) columns of \(V^T/V^H\) are returned in the buffervt
;if
jobvt = job::somevec
, the first \(\min(m, n)\) columns of \(V^T/V^H\) (the left singular vectors) are returned in the buffervt
;if
jobvt = job::overwritevec
, the first \(\min(m, n)\) columns of \(V^T/V^H\) (the left singular vectors) are overwritten on the buffera
;if
jobvt = job::novec
, no columns of \(V^T/V^H\) (no left singular vectors) are computed.- m
The number of rows in the matrix \(A\) (\(0 \le m\)).
- n
The number of columns in the matrix \(A\) (\(0 \le n\)).
- lda
The leading dimension of
a
.- ldu
The leading dimension of
u
.- ldvt
The leading dimension of
vt
.
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 gesvd function should be able to hold.
Parent topic: LAPACK Singular Value and Eigenvalue Problem Routines