getrf#
Computes the LU factorization of a general \(m \times n\) matrix.
Description
getrf
supports the following precisions.
T
float
double
std::complex<float>
std::complex<double>
The routine computes the LU factorization of a general \(m \times n\) matrix \(A\) as \(A = PLU\),
where \(P\) is a permutation matrix, \(L\) 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 (BUFFER Version)#
Syntax
namespace oneapi::mkl::lapack {
void getrf(sycl::queue &queue, std::int64_t m, std::int64_t n, sycl::buffer<T,1> &a, std::int64_t lda, sycl::buffer<std::int64_t,1> &ipiv, sycl::buffer<T,1> &scratchpad, std::int64_t scratchpad_size)
}
Input Parameters
- queue
The queue where the routine should be executed.
- m
The number of rows in the matrix \(A\) (\(0 \le m\)).
- n
The number of columns in \(A\) (\(0 \le n\)).
- a
Buffer holding input matrix \(A\). The buffer a contains the matrix \(A\). The second dimension of a must be at least \(\max(1, n)\).
- lda
The leading dimension of
a
.- 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 getrf_scratchpad_size function.
Output Parameters
- a
Overwritten by \(L\) and \(U\). The unit diagonal elements of \(L\) are not stored.
- ipiv
Array, size at least \(\max(1,\min(m, n))\). Contains the pivot indices; for \(1 \le i \le \min(m, n)\), row \(i\) was interchanged with row \(\text{ipiv}(i)\).
- scratchpad
Buffer holding scratchpad memory to be used by routine for storing intermediate results.
getrf (USM Version)#
Syntax
namespace oneapi::mkl::lapack {
sycl::event getrf(sycl::queue &queue, std::int64_t m, std::int64_t n, T *a, std::int64_t lda, std::int64_t *ipiv, T *scratchpad, std::int64_t scratchpad_size, const std::vector<sycl::event> &events = {})
}
Input Parameters
- queue
The queue where the routine should be executed.
- m
The number of rows in the matrix \(A\) (\(0 \le m\)).
- n
The number of columns in \(A\) (\(0 \le n\)).
- a
Pointer to array holding input matrix \(A\). The second dimension of
a
must be at least \(\max(1, n)\).- lda
The leading dimension of
a
.- 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 getrf_scratchpad_size function.- events
List of events to wait for before starting computation. Defaults to empty list.
Output Parameters
- a
Overwritten by \(L\) and \(U\). The unit diagonal elements of \(L\) are not stored.
- ipiv
Array, size at least \(\max(1,\min(m, n))\). Contains the pivot indices; for \(1 \le i \le \min(m, n)\), row \(i\) was interchanged with row \(\text{ipiv}(i)\).
- scratchpad
Pointer to scratchpad memory to be used by routine for storing intermediate results.
Return Values
Output event to wait on to ensure computation is complete.
Parent topic: LAPACK Linear Equation Routines