getrf_batch¶
Computes the LU factorizations of a batch of general matrices.
getrf_batch
supports the following precisions.
T
float
double
std::complex<float>
std::complex<double>
Description
The routine computes the LU factorizations of a batch of general
m
-by-n
matrices A
1, A
2, …,
A
1batch_size as
Where P
i is a permutation matrix, L
i is
lower triangular with unit diagonal elements (lower trapezoidal if
m > n
) and U
is upper triangular (upper trapezoidal if
m < n
). The routine uses partial pivoting with row
interchanges.
getrf_batch (BUFFER Version)¶
Syntax
-
void
onemkl::lapack
::
getrf_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<std::int64_t, 1>> &ipiv, 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]
contains 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
a[i]
is overwritten byL
i andU
i. The unit diagonal elements ofL
i are not stored.- ipiv
A vector of buffers,
ipiv[i]
stores the pivot indices. The dimension ofipiv[i]
must be at leastmin(m[i], n[i])
.- info
Vector of buffers containing error information.
If
info[i]=0
, the execution is successful.If
info[i]=k
,Ui(k,k)
is0
. The factorization has been completed, butU
i is exactly singular. Division by0
will occur if you use the factorU
i for solving a system of linear equations.
Parent topic: LAPACK-like Extensions Routines