geqrf_batch¶
Computes the QR factorizations of a batch of general matrices.
geqrf_batch
supports the following precisions.
T
float
double
std::complex<float>
std::complex<double>
Description
The routine forms the QR factorizations of a batch of general
matrices A
1, A
2, …,
A
batch_size. No pivoting is performed.
The routine does not form the matrices Q
i explicitly.
Instead, Q
i is represented as a product of
min(mi, ni)
elementary reflectors. Routines are provided to
work with Q
i in this representation.
geqrf_batch (BUFFER Version)¶
Syntax
-
void
onemkl::lapack
::
geqrf_batch
(cl::sycl::queue &queue, std::vector<std::int64_t> const &m, std::vector<std::int64_t> const &n, 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 number of rows of the batch matrixA
i(0≤m[i])
.- n
A vector,
n[i]
is the number of columns of the batch matrixA
i(0≤n[i])
.- a
A vector of buffers,
a[i]
stores the matrixA
i.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])
.
Output Parameters
- a
Overwritten by the factorization data as follows:
The elements on and above the diagonal of the buffer
a[i]
contain themin(m[i],n[i])
-by-n[i]
upper trapezoidal matrixR
i (R
i is upper triangular ifm[i]≥n[i]
); the elements below the diagonal, with the arraytau[i]
, present the orthogonal matrixQ
i as a product ofmin(m[i],n[i])
elementary reflectors.- tau
Vector of buffers, where
tau[i]
must have size at leastmax(1,min(m[i], n[i]))
. Contains scalars that define elementary reflectors for the matrixQ
i in its decomposition in a product of elementary reflectors.- 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