orgqr_batch¶
Generates the orthogonal/unitary matrix Qi of the QR
factorizations for a group of general matrices.
orgqr_batchsupports the following precisions.
T
float
double
std::complex<float>
std::complex<double>
Description
The routine generates the whole or part of the orthogonal/unitary
matrices Q1, Q2, …,
Qbatch_size of the QR factorizations formed by the
routine
geqrf_batch.
Use this routine after a call to
geqrf_batch.
Usually Qi is determined from the QR factorization of
an mi-by-pi matrix Ai with
mi≥pi. To compute the whole matrix
Qi, use:
|
|
|---|---|
|
|
|
|
To compute the leading pi columns of Qi (which form
an orthonormal basis in the space spanned by the columns of
Ai):
|
|
|---|---|
|
|
|
|
To compute the matrix Qki of the QR factorization of
the leading ki columns of the matrix Ai:
|
|
|---|---|
|
|
|
|
To compute the leading ki columns of Qki
(which form an orthonormal basis in the space spanned by the
leading ki columns of the matrix Ai):
|
|
|---|---|
|
|
|
|
orgqr_batch (BUFFER Version)¶
Syntax
-
void
onemkl::lapack::orgqr_batch(cl::sycl::queue &queue, std::vector<std::int64_t> const &m, std::vector<std::int64_t> const &n, std::vector<std::int64_t> const &k, std::vector<cl::sycl::buffer<T, 1>> &a, std::vector<std::int64_t> const &lda, std::vector<cl::sycl::buffer<T, 1>> &tau, std::vector<cl::sycl::buffer<std::int64_t, 1>> &info)¶
Input Parameters
- queue
The queue where the routine should be executed.
- m
A vector,
m[i]is the order of the unitary matrixQi(0≤m[i]).- n
A vector,
n[i]is the number of columns ofQi to be computed(0≤n[i]≤m[i]).- k
A vector,
k[i]is the number of elementary reflectors whose product defines the matrixQi(0≤k[i]≤n[i]).- a
A vector of buffers as returned by geqrf_batch.
a[i]must be of size at leastlda[i]*max(1, n[i]).- lda
A vector,
lda[i]is the leading dimension ofa[i] (m[i]≤lda[i]).- tau
A vector of buffers tau for storing scalars defining elementary reflectors, as returned by geqrf_batch.
Output Parameters
- a
a[i]is overwritten byn[i]leading columns of them[i]-by-m[i]orthogonal matrixQi.- info
Vector of buffers containing error information.
If
info[i]=0, the execution is successful.If
info[i]=-k, thek-th parameter had an illegal value.
Parent topic: LAPACK-like Extensions Routines