SSYRFS(3)

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

πŸ’… SSYRFS(3) β€” the ssyrfs.f glow-up page πŸŽ€

okay so bestie, you've stumbled into the manual for /home/abui...RC/ssyrfs.f(3) β€” that's the Library Functions Manual corner of the filesystem, and honestly it's kind of iconic in here. lowkey the whole page lives at /home/abui...RC/ssyrfs.f(3) and it's giving very "I'm a Fortran file and I know it." πŸ¦‹


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/ssyrfs.f

that's the whole name. yes, the entire path. she's long, she's dramatic, she contains multitudes (and also lapack-static-3.12.0-build twice, because why not πŸ’€). this is her full legal name and we respect it.


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine SSYRFS (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x,
    ldx, ferr, berr, work, iwork, info)
    SSYRFS

Function/Subroutine Documentation

subroutine SSYRFS (character uplo, integer n, integer nrhs, real, dimension(
    lda, * ) a, integer lda, real, dimension( ldaf, * ) af, integer ldaf,
    integer, dimension( * ) ipiv, real, dimension( ldb, * ) b, integer ldb,
    real, dimension( ldx, * ) x, integer ldx, real, dimension( * ) ferr,
    real, dimension( * ) berr, real, dimension( * ) work, integer,
    dimension( * ) iwork, integer info)
    SSYRFS

like, look at her. seventeen arguments. she ate and left absolutely no crumbs πŸ’…


πŸ’– Purpose πŸ’–

!> !> SSYRFS improves the computed solution to a system of linear !> equations when the coefficient matrix is symmetric indefinite, and !> provides error bounds and backward error estimates for the solution. !>

so the vibe is: you already have a computed solution, and SSYRFS is here to improve it 🫢 β€” living that symmetric-indefinite-coefficient-matrix life. plus she hands you error bounds AND backward error estimates for the solution. main character energy, honestly. ✨


πŸ”₯ Parameters πŸ”₯ (the whole cast, in order, no skips)

  • UPLO β€” CHARACTER*1. which triangle is serving today: = 'U' means the upper triangle of A is stored; = 'L' means the lower triangle of A is stored. pick a lane bestie πŸ’…
  • N β€” INTEGER. the order of the matrix A. constraint: N >= 0.
  • NRHS β€” INTEGER. the number of right hand sides β€” i.e. the number of columns of the matrices B and X. constraint: NRHS >= 0.
  • A β€” REAL array, dimension (LDA,N). the symmetric 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 (she's not invited to the party πŸ™ˆ). 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. constraint: LDA >= max(1,N).
  • AF β€” REAL array, dimension (LDAF,N). the factored form of the matrix A. AF contains the block diagonal matrix D and the multipliers used to obtain the factor U or L from the factorization A = U*D*U**T or A = L*D*L**T as computed by SSYTRF. (yes she's been through some things and came out factored πŸ’€)
  • LDAF β€” INTEGER. the leading dimension of the array AF. constraint: LDAF >= max(1,N).
  • IPIV β€” INTEGER array, dimension (N). the details of the interchanges and the block structure of D as determined by SSYTRF.
  • B β€” REAL array, dimension (LDB,NRHS). the right hand side matrix B.
  • LDB β€” INTEGER. the leading dimension of the array B. constraint: LDB >= max(1,N).
  • X β€” REAL array, dimension (LDX,NRHS). on entry, the solution matrix X, as computed by SSYTRS. on exit, the improved solution matrix X. she literally levels up mid-call, we love a transformation arc πŸ¦‹
  • LDX β€” INTEGER. the leading dimension of the array X. constraint: LDX >= max(1,N).
  • FERR β€” REAL array, dimension (NRHS). the estimated forward error bound for each solution vector X(j) β€” that's the j-th column of the solution matrix X, keep up bestie 🌸. 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. (so not me overestimating, it's literally the algorithm, no cap πŸ’…)
  • 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. tiny changes, huge consequences, the drama of it all 😭
  • WORK β€” REAL array, dimension (3*N). she works hard, 3*N worth of hard πŸ’œ
  • IWORK β€” INTEGER array, dimension (N). the integer-flavored workspace, doing integer-flavored things πŸŽ€
  • INFO β€” INTEGER. the receipts:
    • = 0: successful exit β€” we love a slay πŸŽ‰
    • < 0: if INFO = -i, the i-th argument had an illegal value β€” someone did NOT read the constraints, and honestly? rude. πŸ’€

🧚 Internal Parameters 🧚

!> ITMAX is the maximum number of steps of iterative refinement. !>

that's it, that's the internal parameter. ITMAX runs the iterative refinement steps and we simply let her cook πŸ“


πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

the founding mothers of numerical linear algebra, no cap 🫢


⭐ Definition ⭐

definition at line 189 of file ssyrfs.f. go look, she's there, she's thriving πŸ’–


🌈 Author (yes, again) 🌈

generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this page, it was born this way ✨


ngl if you're passing INFO = -i back to the caller, re-read the constraints above before you blame SSYRFS. she's symmetric-indefinite, not psychic πŸ’…

πŸŽ€ cute sign-off πŸŽ€

LAPACK, Version 3.12.0, dated /home/abui...RC/ssyrfs.f(3) β€” that's the whole footer bestie, we're done, go improve some computed solutions, mwah πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from