unmtr_scratchpad_size#

Computes size of scratchpad memory required for unmtr function.

Description

unmtr_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 unmtr function should be able to hold. Calls to this routine must specify the template parameter explicitly.

unmtr_scratchpad_size#

Syntax

namespace oneapi::mkl::lapack {
  template <typename T>
  std::int64_t unmtr_scratchpad_size(cl::sycl::queue &queue, oneapi::mkl::side side, oneapi::mkl::uplo upper_lower, oneapi::mkl::transpose trans, std::int64_t m, std::int64_t n, std::int64_t lda, std::int64_t ldc)
}

Input Parameters

queue

Device queue where calculations by unmtr function will be performed.

side

Must be either side::left or side::right.

If side=side::left, \(Q\) or \(Q^{H}\) is applied to \(C\) from the left.

If side=side::right, \(Q\) or \(Q^{H}\) is applied to \(C\) from the right.

upper_lower

Must be either uplo::upper or uplo::lower. Uses the same upper_lower as supplied to hetrd.

trans

Must be either transpose::nontrans or transpose::conjtrans.

If trans=transpose::nontrans, the routine multiplies \(C\) by \(Q\).

If trans=transpose::conjtrans, the routine multiplies \(C\) by \(Q^{H}\).

m

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

n

The number of columns the matrix \(C\) (\(n \ge 0\)).

k

The number of elementary reflectors whose product defines the matrix \(Q\) (\(0 \le k \le n\)).

lda

The leading dimension of \(a\) \((\max(1,r) \le \text{lda})\).

ldc

The leading dimension of \(c\) \((\max(1,n) \le \text{ldc})\).

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 unmtr function should be able to hold.

Parent topic: LAPACK Singular Value and Eigenvalue Problem Routines