orgqr (USM Version)¶
Generates the real orthogonal matrix Q of the QR factorization formed by
the geqrf (USM Version) function. This routine belongs to the
oneapi::mkl::lapack namespace.
Description¶
The routine generates the whole or part of m-by-m orthogonal
matrix Q of the QR factorization formed by the routine geqrf
(USM Version) :ref:`geqrf-usm-version function.
Usually Q is determined from the QR factorization of an m
by p matrix A with m≥p. To compute the whole matrix
Q, use:
mkl::orgqr(queue, m, m, p, a, lda, tau, ...)
To compute the leading p columns of Q (which form an
orthonormal basis in the space spanned by the columns of A):
mkl::orgqr(queue, m, p, p, a, lda, tau, ...)
To compute the matrix Qk of the QR factorization of
leading k columns of the matrix A:
mkl::orgqr(queue, m, m, k, a, lda, tau, ...)
To compute the leading k columns of Qk (which form
an orthonormal basis in the space spanned by leading k columns of
the matrix A):
mkl::orgqr(queue, m, k, k, a, lda, tau, ...)
API¶
Syntax¶
namespace oneapi::mkl::lapack {
  cl::sycl::event orgqr(cl::sycl::queue &queue,
  std::int64_t m,
  std::int64_t n,
  std::int64_t k,
  T *a,
  std::int64_t lda,
  T *tau,
  T *scratchpad,
  std::int64_t scratchpad_size,
  const std::vector<cl::sycl::event> &events = {})
}
orgqr (USM version) supports the following precisions and
devices:
T  | 
Devices supported  | 
|---|---|
  | 
Host, CPU, and GPU  | 
  | 
Host, CPU, and GPU  | 
Input Parameters¶
- queue
 Device queue where calculations will be performed.
- m
 The number of rows in the matrix
A(0≤m).- n
 The number of columns in the matrix
A(0≤n).- k
 The number of elementary reflectors whose product defines the matrix
Q(0≤k≤n).- a
 Pointer to the result of geqrf (USM Version).
- lda
 The leading dimension of a (
lda≤m).- tau
 Pointer to the result of geqrf (USM Version).
- scratchpad
 Pointer to scratchpad memory to be used by the routine for storing intermediate results.
- scratchpad_size
 Size of scratchpad memory as a number of floating point elements of type
T. Size should not be less than the value returned by the orgqr_scratchpad_size function.- events
 List of events to wait for before starting computation. Defaults to empty list.
Output Parameters¶
- a
 Overwritten by n leading columns of the m-by-m orthogonal matrix
Q.
Exceptions¶
Exception  | 
Description  | 
|---|---|
  | 
This exception is thrown when problems occur during calculations. You can obtain the info code of the problem using the info() method of the exception object: If    If  If   | 
Return Values¶
Output event to wait on to ensure computation is complete