Developer Reference for Intel® oneAPI Math Kernel Library for C
A newer version of this document is available. Customers should click here to go to the newest version.
mkl_?getrfnp
Computes the LU factorization of a general m-by-n matrix without pivoting.
Syntax
lapack_int LAPACKE_mkl_sgetrfnp (int matrix_layout , lapack_int m , lapack_int n , float * a , lapack_int lda );
lapack_int LAPACKE_mkl_dgetrfnp (int matrix_layout , lapack_int m , lapack_int n , double * a , lapack_int lda );
lapack_int LAPACKE_mkl_cgetrfnp (int matrix_layout , lapack_int m , lapack_int n , lapack_complex_float * a , lapack_int lda );
lapack_int LAPACKE_mkl_zgetrfnp (int matrix_layout , lapack_int m , lapack_int n , lapack_complex_double * a , lapack_int lda );
Include Files
mkl.h
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.
Input Parameters
matrix_layout  |  
      Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).  |  
     
m  |  
      The number of rows in the matrix A (m≥ 0).  |  
     
n  |  
      The number of columns in A; n≥ 0.  |  
     
a  |  
      Array, size at least max(1, lda*n) for column-major layout or max(1, lda*m) for row-major layout. Contains the matrix A.  |  
     
lda  |  
      The leading dimension of array a, which must be at least max(1, m) for column-major layout or max(1, n) for row-major layout.  |  
     
Output Parameters
a  |  
      Overwritten by L and U. The unit diagonal elements of L are not stored.  |  
     
Return Values
This function returns a value info.
If info=0, the execution is successful.
If info = -i, parameter i 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.
Application Notes
The approximate number of floating-point operations for real flavors is
(2/3)n3  |  
      If m = n,  |  
     
(1/3)n2(3m-n)  |  
      If m>n,  |  
     
(1/3)m2(3n-m)  |  
      If m<n.  |  
     
The number of operations for complex flavors is four times greater.
After calling this routine with m = n, you can call the following:
- mkl_?getrinp
 -  
     
to compute the inverse of A