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_intLAPACKE_sgetf2 ( intmatrix_layout , lapack_intm , lapack_intn , float*a , lapack_intlda , lapack_int*ipiv );
lapack_intLAPACKE_dgetf2 ( intmatrix_layout , lapack_intm , lapack_intn , double*a , lapack_intlda , lapack_int*ipiv );
lapack_intLAPACKE_cgetf2 ( intmatrix_layout , lapack_intm , lapack_intn , lapack_complex_float*a , lapack_intlda , lapack_int*ipiv );
lapack_intLAPACKE_zgetf2 ( intmatrix_layout , lapack_intm , lapack_intn , lapack_complex_double*a , lapack_intlda , lapack_int*ipiv );
Include Files
mkl.h
Description
sgetf2 dgetf2 cgetf2 zgetf2
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 ( m≥ 0 ).
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.