SSYRFS(3)
π
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 ofAis stored;= 'L'means the lower triangle ofAis stored. pick a lane bestie πNβINTEGER. the order of the matrixA. constraint:N >= 0.NRHSβINTEGER. the number of right hand sides β i.e. the number of columns of the matricesBandX. constraint:NRHS >= 0.AβREALarray, dimension(LDA,N). the symmetric matrixA. 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 (she's not invited to the party π). 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.LDAβINTEGER. the leading dimension of the arrayA. constraint:LDA >= max(1,N).AFβREALarray, dimension(LDAF,N). the factored form of the matrixA.AFcontains the block diagonal matrixDand the multipliers used to obtain the factorUorLfrom the factorizationA = U*D*U**TorA = L*D*L**Tas computed bySSYTRF. (yes she's been through some things and came out factored π)LDAFβINTEGER. the leading dimension of the arrayAF. constraint:LDAF >= max(1,N).IPIVβINTEGERarray, dimension(N). the details of the interchanges and the block structure ofDas determined bySSYTRF.BβREALarray, dimension(LDB,NRHS). the right hand side matrixB.LDBβINTEGER. the leading dimension of the arrayB. constraint:LDB >= max(1,N).XβREALarray, dimension(LDX,NRHS). on entry, the solution matrixX, as computed bySSYTRS. on exit, the improved solution matrixX. she literally levels up mid-call, we love a transformation arc π¦LDXβINTEGER. the leading dimension of the arrayX. constraint:LDX >= max(1,N).FERRβREALarray, dimension(NRHS). the estimated forward error bound for each solution vectorX(j)β that's the j-th column of the solution matrixX, keep up bestie πΈ. ifXTRUEis the true solution corresponding toX(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 inX(j). the estimate is as reliable as the estimate forRCOND, and is almost always a slight overestimate of the true error. (so not me overestimating, it's literally the algorithm, no cap π )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. tiny changes, huge consequences, the drama of it all πWORKβREALarray, dimension(3*N). she works hard,3*Nworth of hard πIWORKβINTEGERarray, dimension(N). the integer-flavored workspace, doing integer-flavored things πINFOβINTEGER. the receipts:= 0: successful exit β we love a slay π< 0: ifINFO = -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
- 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