Developer Reference for Intel® oneAPI Math Kernel Library for C
mkl_?getrfnp
Computes the LU factorization of a general m-by-n matrix without pivoting.
Syntax
lapack_intLAPACKE_mkl_sgetrfnp ( intmatrix_layout , lapack_intm , lapack_intn , float*a , lapack_intlda );
lapack_intLAPACKE_mkl_dgetrfnp ( intmatrix_layout , lapack_intm , lapack_intn , double*a , lapack_intlda );
lapack_intLAPACKE_mkl_cgetrfnp ( intmatrix_layout , lapack_intm , lapack_intn , lapack_complex_float*a , lapack_intlda );
lapack_intLAPACKE_mkl_zgetrfnp ( intmatrix_layout , lapack_intm , lapack_intn , lapack_complex_double*a , lapack_intlda );
Include Files
mkl.h
Description
mkl_sgetrfnp mkl_dgetrfnp mkl_cgetrfnp mkl_zgetrfnp getrf
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
-
INTEGER . The number of rows in the matrix A ( m ≥ 0).
- n
-
INTEGER . 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
-
INTEGER. 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 , \(u_{ii}\) 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)n^{3}\) if m = n,
\((1/3) n^2 (3m - n)\) if m>n, or
\((1/3) m^2 (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 (Computes the inverse of an LU-factored general matrix without pivoting.) to compute the inverse of \(A\)