CPORFS(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

✨ 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 is CHARACTER*1, and it tells you which triangle of A we'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 matrix A. 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 matrices B and X. also NRHS >= 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 β€” a COMPLEX array, dimension (LDA,N). it's the Hermitian matrix A ✨ and here's the tea: 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. 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 array A, and it must satisfy LDA >= max(1,N) ⭐
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
  • AF β€” COMPLEX array, dimension (LDAF,N). this is the triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H, as computed by CPOTRF 🧚
!> 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 array AF, and LDAF >= max(1,N) πŸŽ€
!> LDAF is INTEGER !> The leading dimension of the array AF. LDAF >= max(1,N). !>
  • B β€” COMPLEX array, dimension (LDB,NRHS). it's the right hand side matrix B πŸ’–
!> B is COMPLEX array, dimension (LDB,NRHS) !> The right hand side matrix B. !>
  • LDB β€” INTEGER, the leading dimension of the array B, LDB >= max(1,N) 🌈
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
  • X β€” COMPLEX array, dimension (LDX,NRHS). on entry, it's the solution matrix X, as computed by CPOTRS. on exit, it's the improved solution matrix X β€” 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 array X, LDX >= max(1,N) πŸ’œ
!> LDX is INTEGER !> The leading dimension of the array X. LDX >= max(1,N). !>
  • FERR β€” 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), then 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). and the estimate is as reliable as the estimate for RCOND, 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 β€” 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 πŸ¦‹
!> 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 β€” COMPLEX array, dimension (2*N) 🌸
!> WORK is COMPLEX array, dimension (2*N) !>
  • RWORK β€” REAL array, dimension (N) ⭐
!> RWORK is REAL array, dimension (N) !>
  • INFO β€” INTEGER, the status report bestie:
    • = 0: successful exit πŸŽ‰
    • < 0: if INFO = -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