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.

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. If side = oneapi::mkl::side::right, $$Q$$ or $$Q^T$$ is applied to $$C$$ from the right.

trans

If trans=oneapi::mkl::transpose::nontrans, the routine multiplies $$C$$ by $$Q$$.

If trans=oneapi::mkl::transpose::conjtrans, the routine multiplies $$C$$ by $$Q^H$$.

m

The number of rows in the matrix $$C$$ ($$0 \le m$$).

n

The number of columns in the matrix $$C$$ ($$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::unimplemented

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