unmrq_scratchpad_size¶
Computes size of scratchpad memory required for unmrq function.
Description
unmrq_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 unmrq function should be able to hold.
Calls to this routine must specify the template parameter explicitly.
unmrq_scratchpad_size¶
Syntax
namespace oneapi::mkl::lapack {
template <typename T>
std::int64_t unmrq_scratchpad_size(cl::sycl::queue &queue, oneapi::mkl::side side, oneapi::mkl::transpose trans, std::int64_t m, std::int64_t n, std::int64_t k, std::int64_t lda, std::int64_t ldc)
}
Input Parameters
- queue
Device queue where calculations by the unmrq function will be performed.
- side
If
side = oneapi::mkl::side::left
, \(Q\) or \(Q^T\) is applied to \(C\) from the left. Ifside = oneapi::mkl::side::right
, \(Q\) or \(Q^T\) is applied to \(C\) from the right.- trans
If
trans=oneapi::mkl::transpose::trans
, the routine multiplies \(C\) by \(Q\).If
trans=oneapi::mkl::transpose::nontrans
, the routine multiplies \(C\) by \(Q^T\).- m
The number of rows in the matrix \(A\) (\(0 \le m\)).
- n
The number of columns in the matrix \(A\) (\(0 \le n \le m\)).
- k
The number of elementary reflectors whose product defines the matrix \(Q\) (\(0 \le k \le n\)).
- lda
The leading dimension of
a
.- ldc
The leading dimension of
c
.
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 unmrq function should be able to hold.
Parent topic: LAPACK Linear Equation Routines