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_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
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
-
The number of rows in the matrix A. The value of m must be at least zero.
- n
-
The number of columns in the matrix A. The value of n must be at least zero.
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\)