Visible to Intel only — GUID: GUID-4C254B47-B33C-4A3B-9B6A-934F71E0D812
Visible to Intel only — GUID: GUID-4C254B47-B33C-4A3B-9B6A-934F71E0D812
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)
Description
The p?getf2routine 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, LOCc(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) -> 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 the i-th argument is an array and the j-th entry had an illegal value, then info = -(i*100+j),
if the i-th argument is a scalar and had an illegal value, then info = - i.
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.