A newer version of this document is available. Customers should click here to go to the newest version.
getrfnp
Computes the LU factorization of a general m-by-n matrix without pivoting. This routine belongs to the oneapi::mkl::lapack namespace.
Description
The routine computes the LU factorization of a general m-by-n matrix A as
A = L*U, 
   where 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 does not use pivoting.
API
Syntax
namespace oneapi::mkl::lapack {
  void getrfnp(sycl::queue &queue,
  int64_t m,
  int64_t n,
  sycl::buffer<T> &a,
  int64_t lda,
  sycl::buffer<T> &scratchpad,
  int64_t scratchpad_size)
} 
   getrfnp supports the following precisions and devices.
T  |  
        Devices supported  |  
       
|---|---|
float  |  
        CPU and GPU*  |  
       
double  |  
        CPU and GPU*  |  
       
std::complex<float>  |  
        CPU and GPU*  |  
       
std::complex<double>  |  
        CPU and GPU*  |  
       
*Hybrid support; some computations are performed on the CPU.
Input Parameters
queue  |  
        Device queue where calculations will be performed.  |  
       
m  |  
        The number of rows in the matrix A (m ≥ 0).  |  
       
n  |  
        The number of columns in A (n ≥ 0).  |  
       
a  |  
        Buffer holding input matrix A. The array must be of size at least lda * max(1, n).  |  
       
lda  |  
        The leading dimension of a (lda ≥ max(1, m)).  |  
       
scratchpad  |  
        Buffer holding scratchpad memory to be used by the routine for storing intermediate results.  |  
       
scratchpad_size  |  
        Size of scratchpad memory as a number of floating point elements of type T. Size must not be less than the value returned by the getrfnp_scratchpad_size function.  |  
       
Output Parameters
a  |  
        Overwritten by L and U. The unit diagonal elements of L are not stored.  |  
       
Exceptions
Exception  |  
        Description  |  
       
|---|---|
mkl::lapack::exception  |  
        This exception is thrown when problems occur during calculations. You can obtain the info code of the problem using the info() method of the exception object: If info = -i, the i-th parameter had an illegal value. If info = i, uii is 0. The factorization has been completed, but U is exactly singular. Division by 0 will occur if you use the factor U for solving a system of linear equations. If info is equal to the value passed as scratchpad size, and detail() returns non-zero, then the passed scratchpad has an insufficient size, and the required size must not be less than the value returned by the detail() method of the exception object.  |