table of contents
PDPORFS(l) | LAPACK routine (version 1.5) | PDPORFS(l) |
NAME¶
PDPORFS - improve the computed solution to a system of linear equations when the coefficient matrix is symmetric positive definite and provides error bounds and backward error estimates for the solutionsSYNOPSIS¶
- SUBROUTINE PDPORFS(
- UPLO, N, NRHS, A, IA, JA, DESCA, AF, IAF, JAF, DESCAF, B, IB, JB, DESCB, X, IX, JX, DESCX, FERR, BERR, WORK, LWORK, IWORK, LIWORK, INFO )
- CHARACTER
- UPLO
- INTEGER
- IA, IAF, IB, INFO, IX, JA, JAF, JB, JX, LIWORK, LWORK, N, NRHS
- INTEGER
- DESCA( * ), DESCAF( * ), DESCB( * ), DESCX( * ), IWORK( * )
- DOUBLE
- PRECISION A( * ), AF( * ), B( * ), BERR( * ), FERR( * ), WORK( * ), X( * )
PURPOSE¶
PDPORFS improves the computed solution to a system of linear equations when the coefficient matrix is symmetric positive definite and provides error bounds and backward error estimates for the solutions.DTYPE_A = 1.
the BLACS process grid A is distribu-
ted over. The context itself is glo-
bal, but the handle (the integer
value) may vary.
array A.
array A.
the rows of the array.
the columns of the array.
row of the array A is distributed. CSRC_A (global) DESCA( CSRC_ ) The process column over which the
first column of the array A is
distributed.
array. LLD_A >= MAX(1,LOCr(M_A)).
LOCr( M ) = NUMROC( M, MB_A, MYROW, RSRC_A, NPROW ),
LOCc( N ) = NUMROC( N, NB_A, MYCOL, CSRC_A, NPCOL ). An upper bound for these quantities may be computed by:
LOCr( M ) <= ceil( ceil(M/MB_A)/NPROW )*MB_A
LOCc( N ) <= ceil( ceil(N/NB_A)/NPCOL )*NB_A
ARGUMENTS¶
- UPLO (global input) CHARACTER*1
- Specifies whether the upper or lower triangular part of the
symmetric matrix sub( A ) is stored. = 'U': Upper triangular
- N (global input) INTEGER
- The order of the matrix sub( A ). N >= 0.
- NRHS (global input) INTEGER
- The number of right hand sides, i.e., the number of columns of the matrices sub( B ) and sub( X ). NRHS >= 0.
- A (local input) DOUBLE PRECISION pointer into the local
- memory to an array of local dimension (LLD_A,LOCc(JA+N-1) ). This array contains the local pieces of the N-by-N symmetric distributed matrix sub( A ) to be factored. If UPLO = 'U', the leading N-by-N upper triangular part of sub( A ) contains the upper triangular part of the matrix, and its strictly lower triangular part is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of sub( A ) contains the lower triangular part of the distribu- ted matrix, and its strictly upper triangular part is not referenced.
- IA (global input) INTEGER
- The row index in the global array A indicating the first row of sub( A ).
- JA (global input) INTEGER
- The column index in the global array A indicating the first column of sub( A ).
- DESCA (global and local input) INTEGER array of dimension DLEN_.
- The array descriptor for the distributed matrix A.
- AF (local input) DOUBLE PRECISION pointer into the local memory
- to an array of local dimension (LLD_AF,LOCc(JA+N-1)). On entry, this array contains the factors L or U from the Cholesky factorization sub( A ) = L*L**T or U**T*U, as computed by PDPOTRF.
- IAF (global input) INTEGER
- The row index in the global array AF indicating the first row of sub( AF ).
- JAF (global input) INTEGER
- The column index in the global array AF indicating the first column of sub( AF ).
- DESCAF (global and local input) INTEGER array of dimension DLEN_.
- The array descriptor for the distributed matrix AF.
- B (local input) DOUBLE PRECISION pointer into the local memory
- to an array of local dimension (LLD_B, LOCc(JB+NRHS-1) ). On entry, this array contains the the local pieces of the right hand sides sub( B ).
- IB (global input) INTEGER
- The row index in the global array B indicating the first row of sub( B ).
- JB (global input) INTEGER
- The column index in the global array B indicating the first column of sub( B ).
- DESCB (global and local input) INTEGER array of dimension DLEN_.
- The array descriptor for the distributed matrix B.
- X (local input) DOUBLE PRECISION pointer into the local memory
- to an array of local dimension (LLD_X, LOCc(JX+NRHS-1) ). On entry, this array contains the the local pieces of the solution vectors sub( X ). On exit, it contains the improved solution vectors.
- IX (global input) INTEGER
- The row index in the global array X indicating the first row of sub( X ).
- JX (global input) INTEGER
- The column index in the global array X indicating the first column of sub( X ).
- DESCX (global and local input) INTEGER array of dimension DLEN_.
- The array descriptor for the distributed matrix X.
- FERR (local output) DOUBLE PRECISION array of local dimension
- LOCc(JB+NRHS-1). The estimated forward error bound for each solution vector of sub( X ). If XTRUE is the true solution corresponding to sub( X ), FERR is an estimated upper bound for the magnitude of the largest element in (sub( X ) - XTRUE) divided by the magnitude of the largest element in sub( X ). The estimate is as reliable as the estimate for RCOND, and is almost always a slight overestimate of the true error. This array is tied to the distributed matrix X.
- BERR (local output) DOUBLE PRECISION array of local dimension
- LOCc(JB+NRHS-1). The componentwise relative backward error of each solution vector (i.e., the smallest re- lative change in any entry of sub( A ) or sub( B ) that makes sub( X ) an exact solution). This array is tied to the distributed matrix X.
- WORK (local workspace/local output) DOUBLE PRECISION array,
- dimension (LWORK) On exit, WORK(1) returns the minimal and optimal LWORK.
- LWORK (local or global input) INTEGER
- The dimension of the array WORK. LWORK is local input and
must be at least LWORK >= 3*LOCr( N + MOD( IA-1, MB_A ) )
- IWORK (local workspace/local output) INTEGER array,
- dimension (LIWORK) On exit, IWORK(1) returns the minimal and optimal LIWORK.
- LIWORK (local or global input) INTEGER
- The dimension of the array IWORK. LIWORK is local input and
must be at least LIWORK >= LOCr( N + MOD( IB-1, MB_B ) ).
- INFO (global output) INTEGER
- = 0: successful exit
PARAMETERS¶
ITMAX is the maximum number of steps of iterative refinement.12 May 1997 | LAPACK version 1.5 |