geqrf_batch¶
Computes the QR factorizations of a batch of general matrices.
geqrf_batchsupports 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 A1, A2, …,
Abatch_size. No pivoting is performed.
The routine does not form the matrices Qi explicitly.
Instead, Qi is represented as a product of
min(mi, ni) elementary reflectors. Routines are provided to
work with Qi 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 matrixAi(0≤m[i]).- n
A vector,
n[i]is the number of columns of the batch matrixAi(0≤n[i]).- a
A vector of buffers,
a[i]stores the matrixAi.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 matrixRi (Ri is upper triangular ifm[i]≥n[i]); the elements below the diagonal, with the arraytau[i], present the orthogonal matrixQi 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 matrixQi 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