Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?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 (m 0).

n

The number of columns in A (n 0).

a

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.