CPORFS(3)
β¨ CPORFS(3) β¨ β like, the manual page but make it make sense π
okay bestie, gather round π«Ά this is a LAPACK library function page, specifically for cporfs.f, and it lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/cporfs.f β yes that's the whole path, no I'm not shortening it, it's iconic in its own chaotic way π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine CPORFS (uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx,
ferr, berr, work, rwork, info)
that's CPORFS π (literally the whole name, that's it, that's the subroutine)
π Function/Subroutine Documentation π
subroutine CPORFS (character uplo, integer n, integer nrhs, complex,
dimension( lda, * ) a, integer lda, complex, dimension( ldaf, * ) af,
integer ldaf, complex, dimension( ldb, * ) b, integer ldb, complex,
dimension( ldx, * ) x, integer ldx, real, dimension( * ) ferr, real,
dimension( * ) berr, complex, dimension( * ) work, real, dimension( * )
rwork, integer info)
CPORFS π
π¦ Purpose
so the actual vibe here: CPORFS improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian positive definite π and it also hands you error bounds AND backward error estimates for the solution. it's giving "glow-up for your answer" β¨
!> !> CPORFS improves the computed solution to a system of linear !> equations when the coefficient matrix is Hermitian positive definite, !> and provides error bounds and backward error estimates for the !> solution. !>
π Parameters
UPLOβ okay so this isCHARACTER*1, and it tells you which triangle ofAwe're storing, periodt:= 'U': Upper triangle of A is stored;= 'L': Lower triangle of A is stored.
!> UPLO is CHARACTER*1 !> = 'U': Upper triangle of A is stored; !> = 'L': Lower triangle of A is stored. !>
NβINTEGER, the order of the matrixA. and like,N >= 0, no cap.
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
NRHSβINTEGER, the number of right hand sides, i.e. the number of columns of the matricesBandX. alsoNRHS >= 0π
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrices B and X. NRHS >= 0. !>
Aβ aCOMPLEXarray, dimension(LDA,N). it's the Hermitian matrixAβ¨ and here's the tea: ifUPLO = 'U', the leading N-by-N upper triangular part ofAcontains the upper triangular part of the matrixA, and the strictly lower triangular part ofAis not referenced. ifUPLO = 'L', the leading N-by-N lower triangular part ofAcontains the lower triangular part of the matrixA, and the strictly upper triangular part ofAis not referenced. so like, don't come for the parts it ignores, they're not even in the group chat π
!> A is COMPLEX array, dimension (LDA,N) !> The Hermitian matrix A. If UPLO = 'U', the leading N-by-N !> upper triangular part of A contains the upper triangular part !> of the matrix A, and the strictly lower triangular part of A !> is not referenced. If UPLO = 'L', the leading N-by-N lower !> triangular part of A contains the lower triangular part of !> the matrix A, and the strictly upper triangular part of A is !> not referenced. !>
LDAβINTEGER, the leading dimension of the arrayA, and it must satisfyLDA >= max(1,N)β
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
AFβCOMPLEXarray, dimension(LDAF,N). this is the triangular factorUorLfrom the Cholesky factorizationA = U**H*UorA = L*L**H, as computed byCPOTRFπ§
!> AF is COMPLEX array, dimension (LDAF,N) !> The triangular factor U or L from the Cholesky factorization !> A = UH*U or A = L*LH, as computed by CPOTRF. !>
LDAFβINTEGER, the leading dimension of the arrayAF, andLDAF >= max(1,N)π
!> LDAF is INTEGER !> The leading dimension of the array AF. LDAF >= max(1,N). !>
BβCOMPLEXarray, dimension(LDB,NRHS). it's the right hand side matrixBπ
!> B is COMPLEX array, dimension (LDB,NRHS) !> The right hand side matrix B. !>
LDBβINTEGER, the leading dimension of the arrayB,LDB >= max(1,N)π
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
XβCOMPLEXarray, dimension(LDX,NRHS). on entry, it's the solution matrixX, as computed byCPOTRS. on exit, it's the improved solution matrixXβ glow-up complete, main character energy π
!> X is COMPLEX array, dimension (LDX,NRHS) !> On entry, the solution matrix X, as computed by CPOTRS. !> On exit, the improved solution matrix X. !>
LDXβINTEGER, the leading dimension of the arrayX,LDX >= max(1,N)π
!> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !>
FERRβREALarray, dimension(NRHS). the estimated forward error bound for each solution vectorX(j)(the j-th column of the solution matrixX) π₯ ifXTRUEis the true solution corresponding toX(j), thenFERR(j)is an estimated upper bound for the magnitude of the largest element in(X(j) - XTRUE)divided by the magnitude of the largest element inX(j). and the estimate is as reliable as the estimate forRCOND, and it's almost always a slight overestimate of the true error. so like, it's a lil dramatic but in a trustworthy way π
!> FERR is REAL array, dimension (NRHS) !> The estimated forward error bound for each solution vector !> X(j) (the j-th column of the solution matrix X). !> If XTRUE is the true solution corresponding to X(j), FERR(j) !> is an estimated upper bound for the magnitude of the largest !> element in (X(j) - XTRUE) divided by the magnitude of the !> largest element in X(j). The estimate is as reliable as !> the estimate for RCOND, and is almost always a slight !> overestimate of the true error. !>
BERRβREALarray, dimension(NRHS). the componentwise relative backward error of each solution vectorX(j)β i.e., the smallest relative change in any element ofAorBthat makesX(j)an exact solution π¦
!> BERR is REAL array, dimension (NRHS) !> The componentwise relative backward error of each solution !> vector X(j) (i.e., the smallest relative change in !> any element of A or B that makes X(j) an exact solution). !>
WORKβCOMPLEXarray, dimension(2*N)πΈ
!> WORK is COMPLEX array, dimension (2*N) !>
RWORKβREALarray, dimension(N)β
!> RWORK is REAL array, dimension (N) !>
INFOβINTEGER, the status report bestie:= 0: successful exit π< 0: ifINFO = -i, the i-th argument had an illegal value π
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !>
π§ Internal Parameters
ITMAX is the maximum number of steps of iterative refinement π that's it, that's the internal parameter, iykyk.
!> ITMAX is the maximum number of steps of iterative refinement. !>
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 181 of file cporfs.f π
π Author
Generated automatically by Doxygen for LAPACK from the source code. so like, a robot wrote the original and I'm just here to make it cute π€β¨
okay that's the whole page bestie, every single flag, dimension, bound and !> line is still in there, nothing skipped, periodt π
LAPACK Β· Version 3.12.0 Β· /home/abui...RC/cporfs.f(3) β love u, go improve some solutions π«Άπ
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms