Developer Reference for Intel® oneAPI Math Kernel Library for C
p?getf2
Computes an LU factorization of a general matrix, using partial pivoting with row interchanges (local blocked algorithm).
Syntax
voidpsgetf2 ( MKL_INT*m , MKL_INT*n , float*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_INT*ipiv , MKL_INT*info );
voidpdgetf2 ( MKL_INT*m , MKL_INT*n , double*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_INT*ipiv , MKL_INT*info );
voidpcgetf2 ( MKL_INT*m , MKL_INT*n , MKL_Complex8*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_INT*ipiv , MKL_INT*info );
voidpzgetf2 ( MKL_INT*m , MKL_INT*n , MKL_Complex16*a , MKL_INT*ia , MKL_INT*ja , MKL_INT*desca , MKL_INT*ipiv , MKL_INT*info );
Include Files
mkl_scalapack.h
Description
psgetf2 pdgetf2 pcgetf2 pzgetf2 The p?getf2 routine function computes an LU factorization of a general m -by- n distributed matrix sub( A ) = A(ia:ia+m-1 , ja:ja+n-1) using partial pivoting with row interchanges.
The factorization has the form sub(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 ). This is the right-looking Parallel Level 2 BLAS version of the algorithm.
Product and Performance Information Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex . Notice revision #20201201
Input Parameters
m
(global)
The number of rows in the distributed matrix sub( A ). (m≥0) .
n
(global) The number of columns in the distributed matrix sub( A ). (nb_a - mod(ja-1, nb_a)≥n≥0) .
- a
-
(local). REAL for psgetf2 DOUBLE PRECISION for pdgetf2 COMPLEX for pcgetf2 COMPLEX*16 for pzgetf2 .
Pointer into the local memory to an array of size lld_a * LOC_{c}(ja+n-1) .
On entry, this array contains the local pieces of the m -by- n distributed matrix sub( A ).
ia , ja
(global) The row and column indices in the global matrix A indicating the first row and the first column of the matrix sub( A ), respectively.
desca
(global and local) array of size dlen_ . The array descriptor for the distributed matrix A .
Output Parameters
ipiv
(local)
Array of size (LOCr(m_a) + mb_a) . This array contains the pivoting information. ipiv(i)[i] -> The global row that local row ( i +1) was swapped with , i = 0, 1, … , LOCr ( m_a ) + mb_a - 1 . This array is tied to the distributed matrix A .
info
(local).
If info = 0 : successful exit. If info < 0: If info > 0 : If info = k , the matrix element U(ia+k-1 , ja+k-1) is exactly zero. The factorization has been completed, but the factor U is exactly singular, and division by zero will occur if it is used to solve a system of equations.