Developer Reference for Intel® oneAPI Math Kernel Library for C
?getf2
Computes the LU factorization of a general m-by-n matrix using partial pivoting with row interchanges (unblocked algorithm).
Syntax
lapack_int LAPACKE_sgetf2(int matrix_layout, lapack_int m, lapack_int n, float *a,
lapack_int lda, lapack_int *ipiv);
lapack_int LAPACKE_dgetf2(int matrix_layout, lapack_int m, lapack_int n, double *a,
lapack_int lda, lapack_int *ipiv);
lapack_int LAPACKE_cgetf2(int matrix_layout, lapack_int m, lapack_int n,
lapack_complex_float *a, lapack_int lda, lapack_int *ipiv);
lapack_int LAPACKE_zgetf2(int matrix_layout, lapack_int m, lapack_int n,
lapack_complex_double *a, lapack_int lda, lapack_int *ipiv);
Include Files
mkl.h
Description
The routine computes the LU factorization of a general m -by- n matrix A using partial pivoting with row interchanges. The factorization has the form
A = P*L*U
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 ).
Input Parameters
A <datatype> placeholder, if present, is used for the C interface data types in the C interface section above. See C Interface Conventions for the C interface principal conventions and type definitions.
- m
-
The number of rows in the matrix A. The value of m must be at least zero.
n
The number of columns in A ( n≥ 0 ).
- a
-
REAL for sgetf2 DOUBLE PRECISION for dgetf2 COMPLEX for cgetf2 DOUBLE COMPLEX for zgetf2 . Array, size ( lda ,*). Contains the matrix A to be factored. The second dimension of a must be at least max(1, n) . Array, size at least max(1, lda*n) for column major and max(1, lda*m) for row major layout. Array a contains the m -by- n matrix A .
lda
The leading dimension of a ; at least max(1, m ) for column major layout and max(1, n ) for row major layout .
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)) . The pivot indices: for 1 ≤ i ≤ n , row i was interchanged with row ipiv(i).
Return Values
This function returns a value info .
If info = -i , the i -th parameter had an illegal value.
If info = i >0 , 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 = -1011 , memory allocation error occurred.