Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
p?getf2
Computes an LU factorization of a general matrix, using partial pivoting with row interchanges (local blocked algorithm).
Syntax
call psgetf2 ( m , n , a , ia , ja , desca , ipiv , info )
call pdgetf2 ( m , n , a , ia , ja , desca , ipiv , info )
call pcgetf2 ( m , n , a , ia , ja , desca , ipiv , info )
call pzgetf2 ( m , n , a , ia , ja , desca , ipiv , 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) INTEGER .
The number of rows in the distributed matrix sub( A ). (m≥0) .
n
(global) INTEGER . 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) INTEGER . 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) INTEGER array of size dlen_ . The array descriptor for the distributed matrix A .
Output Parameters
ipiv
(local) INTEGER .
Array of size (LOCr(m_a) + mb_a) . This array contains the pivoting information. ipiv(i)[i] -> The global row that local row i was swapped with . This array is tied to the distributed matrix A .
info
(local). INTEGER .
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.