gbrfs(3)
πΈ NAME πΈ
gbrfs β gbrfs: iterative refinement. This is the gbrfs(3) page from the Library Functions Manual, bestie, and it's literally all about refining your computed solution when the coefficient matrix is banded. π
β¨ SYNOPSIS β¨
π Functions π
subroutine cgbrfs (trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv,
b, ldb, x, ldx, ferr, berr, work, rwork, info)
CGBRFS
subroutine dgbrfs (trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv,
b, ldb, x, ldx, ferr, berr, work, iwork, info)
DGBRFS
subroutine sgbrfs (trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv,
b, ldb, x, ldx, ferr, berr, work, iwork, info)
SGBRFS
subroutine zgbrfs (trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv,
b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZGBRFS
π DETAILED DESCRIPTION π
No standalone extra prose here, bestie β the detailed description is lowkey just the runway to the function docs below. π«Ά
π₯ FUNCTION DOCUMENTATION π₯
All the function-level tea lives here. Four subroutines show up in the synopsis, and this part has the detailed docs for CGBRFS and DGBRFS. π
π
cgbrfs β subroutine
subroutine cgbrfs (character trans, integer n, integer kl, integer ku,
integer nrhs, complex, dimension( ldab, * ) ab, integer ldab, complex,
dimension( ldafb, * ) afb, integer ldafb, integer, dimension( * ) ipiv,
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)
CGBRFS
π Purpose
CGBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded. It also provides error bounds and backward error estimates for the solution. Obsessed with the completeness. β¨
π Parameters
TRANSβTRANS is CHARACTER*1. Specifies the form of the system of equations:= 'N': A * X = B (No transpose)= 'T': A**T * X = B (Transpose)= 'C': A**H * X = B (Conjugate transpose)
NβN is INTEGER. The order of the matrixA.N >= 0.KLβKL is INTEGER. The number of subdiagonals within the band ofA.KL >= 0.KUβKU is INTEGER. The number of superdiagonals within the band ofA.KU >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matricesBandX.NRHS >= 0.ABβAB is COMPLEX array, dimension (LDAB,N). The original band matrixA, stored in rows1toKL+KU+1. Thej-th column ofAis stored in thej-th column of the arrayABas follows:AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).LDABβLDAB is INTEGER. The leading dimension of the arrayAB.LDAB >= KL+KU+1.AFBβAFB is COMPLEX array, dimension (LDAFB,N). Details of the LU factorization of the band matrixA, as computed byCGBTRF.Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1, and the multipliers used during the factorization are stored in rowsKL+KU+2to2*KL+KU+1.LDAFBβLDAFB is INTEGER. The leading dimension of the arrayAFB.LDAFB >= 2*KL*KU+1.IPIVβIPIV is INTEGER array, dimension (N). The pivot indices fromCGBTRF; for1<=i<=N, rowiof the matrix was interchanged with rowIPIV(i).BβB is COMPLEX array, dimension (LDB,NRHS). The right hand side matrixB.LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,N).XβX is COMPLEX array, dimension (LDX,NRHS). On entry, the solution matrixX, as computed byCGBTRS. On exit, the improved solution matrixX.LDXβLDX is INTEGER. The leading dimension of the arrayX.LDX >= max(1,N).FERRβFERR is REAL array, dimension (NRHS). The estimated forward error bound for each solution vectorX(j)(thej-th column of the solution matrixX). 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.BERRβBERR is REAL array, 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).WORKβWORK is COMPLEX array, dimension (2*N).RWORKβRWORK is REAL array, dimension (N).INFOβ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 the cap, bestie. π₯
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 203 of file cgbrfs.f.
π
dgbrfs β subroutine
subroutine dgbrfs (character trans, integer n, integer kl, integer ku,
integer nrhs, double precision, dimension( ldab, * ) ab, integer ldab,
double precision, dimension( ldafb, * ) afb, integer ldafb, integer,
dimension( * ) ipiv, double precision, dimension( ldb, * ) b, integer
ldb, double precision, dimension( ldx, * ) x, integer ldx, double
precision, dimension( * ) ferr, double precision, dimension( * ) berr,
double precision, dimension( * ) work, integer, dimension( * ) iwork,
integer info)
DGBRFS
π Purpose
DGBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded. It also provides error bounds and backward error estimates for the solution. Same energy, double precision. π
π Parameters
TRANSβTRANS is CHARACTER*1. Specifies the form of the system of equations:= 'N': A * X = B (No transpose)= 'T': A**T * X = B (Transpose)= 'C': A**H * X = B (Conjugate transpose = Transpose)
NβN is INTEGER. The order of the matrixA.N >= 0.KLβKL is INTEGER. The number of subdiagonals within the band ofA.KL >= 0.KUβKU is INTEGER. The number of superdiagonals within the band ofA.KU >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matricesBandX.NRHS >= 0.ABβAB is DOUBLE PRECISION array, dimension (LDAB,N). The original band matrixA, stored in rows1toKL+KU+1. Thej-th column ofAis stored in thej-th column of the arrayABas follows:AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).LDABβLDAB is INTEGER. The leading dimension of the arrayAB.LDAB >= KL+KU+1.AFBβAFB is DOUBLE PRECISION array, dimension (LDAFB,N). Details of the LU factorization of the band matrixA, as computed byDGBTRF.Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1, and the multipliers used during the factorization are stored in rowsKL+KU+2to2*KL+KU+1.LDAFBβLDAFB is INTEGER. The leading dimension of the arrayAFB.LDAFB >= 2*KL*KU+1.IPIVβIPIV is INTEGER array, dimension (N). The pivot indices fromDGBTRF; for1<=i<=N, rowiof the matrix was interchanged with rowIPIV(i).BβB is DOUBLE PRECISION array, dimension (LDB,NRHS). The right hand side matrixB.LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,N).XβX is DOUBLE PRECISION array, dimension (LDX,NRHS). On entry, the solution matrixX, as computed byDGBTRS. On exit, the improved solution matrixX.LDXβLDX is INTEGER. The leading dimension of the arrayX.LDX >= max(1,N).FERRβFERR is DOUBLE PRECISION array, dimension (NRHS). The estimated forward error bound for each solution vectorX(j)(thej-th column of the solution matrixX). 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.BERRβBERR is DOUBLE PRECISION array, 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).WORKβWORK is DOUBLE PRECISION array, dimension (3*N).IWORKβIWORK is INTEGER array, dimension (N).INFOβ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. Same cap, bestie. π₯
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
Alright, picking up mid-glow-up in the dgbrfs author block β no re-intro, just the receipts:
Univ. of Colorado DenverNAG Ltd.Definition at line 202 of file dgbrfs.f.
π sgbrfs β single precision, main character energy π
subroutine sgbrfs (character trans, integer n, integer kl, integer ku, integer nrhs, real, dimension( ldab, * ) ab, integer ldab, real, dimension( ldafb, * ) afb, integer ldafb, 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)
SGBRFS
Purpose
SGBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded, and provides error bounds and backward error estimates for the solution. Thatβs the whole vibe: better solution, plus receipts on how wrong it might still be. π
Parameters
TRANSβCHARACTER*1, specifies the form of the system of equations:= 'N': A * X = B (No transpose)= 'T': A**T * X = B (Transpose)= 'C': A**H * X = B (Conjugate transpose = Transpose)
NβINTEGER, the order of the matrixA.N >= 0.KLβINTEGER, the number of subdiagonals within the band ofA.KL >= 0.KUβINTEGER, the number of superdiagonals within the band ofA.KU >= 0.NRHSβINTEGER, the number of right hand sides, i.e., the number of columns of the matricesBandX.NRHS >= 0.ABβREALarray, dimension(LDAB,N). The original band matrixA, stored in rows1toKL+KU+1. Thej-th column ofAis stored in thej-th column of the arrayABas follows:AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).LDABβINTEGER, the leading dimension of the arrayAB.LDAB >= KL+KU+1.AFBβREALarray, dimension(LDAFB,N). Details of the LU factorization of the band matrixA, as computed bySGBTRF.Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1, and the multipliers used during the factorization are stored in rowsKL+KU+2to2*KL+KU+1.LDAFBβINTEGER, the leading dimension of the arrayAFB. The page saysLDAFB >= 2*KL*KU+1.IPIVβINTEGERarray, dimension(N). The pivot indices fromSGBTRF; for1<=i<=N, rowiof the matrix was interchanged with rowIPIV(i).BβREALarray, dimension(LDB,NRHS). The right hand side matrixB.LDBβINTEGER, the leading dimension of the arrayB.LDB >= max(1,N).XβREALarray, dimension(LDX,NRHS). On entry, the solution matrixX, as computed bySGBTRS. On exit, the improved solution matrixX. β¨ glow-up complete β¨LDXβINTEGER, the leading dimension of the arrayX.LDX >= max(1,N).FERRβREALarray, dimension(NRHS). The estimated forward error bound for each solution vectorX(j)(thej-th column of the solution matrixX). 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.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).WORKβREALarray, dimension(3*N).IWORKβINTEGERarray, dimension(N).INFOβINTEGER:= 0: successful exit< 0: ifINFO = -i, thei-th argument had an illegal value
Internal Parameters
ITMAXis the maximum number of steps of iterative refinement.
Author
Univ. of TennesseeUniv. of California BerkeleyUniv. of Colorado DenverNAG Ltd.
Definition at line 202 of file sgbrfs.f.
π zgbrfs β complex*16 glam edition π
subroutine zgbrfs (character trans, integer n, integer kl, integer ku, integer nrhs, complex*16, dimension( ldab, * ) ab, integer ldab, complex*16, dimension( ldafb, * ) afb, integer ldafb, integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer ldb, complex*16, dimension( ldx, * ) x, integer ldx, double precision, dimension( * ) ferr, double precision, dimension( * ) berr, complex*16, dimension( * ) work, double precision, dimension( * ) rwork, integer info)
ZGBRFS
Purpose
ZGBRFS improves the computed solution to a system of linear equations when the coefficient matrix is banded, and provides error bounds and backward error estimates for the solution. Same iconic behavior, now with COMPLEX*16 sparkle. π¦
Parameters
TRANSβCHARACTER*1, specifies the form of the system of equations:= 'N': A * X = B (No transpose)= 'T': A**T * X = B (Transpose)= 'C': A**H * X = B (Conjugate transpose)
NβINTEGER, the order of the matrixA.N >= 0.KLβINTEGER, the number of subdiagonals within the band ofA.KL >= 0.KUβINTEGER, the number of superdiagonals within the band ofA.KU >= 0.NRHSβINTEGER, the number of right hand sides, i.e., the number of columns of the matricesBandX.NRHS >= 0.ABβCOMPLEX*16array, dimension(LDAB,N). The original band matrixA, stored in rows1toKL+KU+1. Thej-th column ofAis stored in thej-th column of the arrayABas follows:AB(ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(n,j+kl).LDABβINTEGER, the leading dimension of the arrayAB.LDAB >= KL+KU+1.AFBβCOMPLEX*16array, dimension(LDAFB,N). Details of the LU factorization of the band matrixA, as computed byZGBTRF.Uis stored as an upper triangular band matrix withKL+KUsuperdiagonals in rows1toKL+KU+1, and the multipliers used during the factorization are stored in rowsKL+KU+2to2*KL+KU+1.LDAFBβINTEGER, the leading dimension of the arrayAFB. The page saysLDAFB >= 2*KL*KU+1.IPIVβINTEGERarray, dimension(N). The pivot indices fromZGBTRF; for1<=i<=N, rowiof the matrix was interchanged with rowIPIV(i).BβCOMPLEX*16array, dimension(LDB,NRHS). The right hand side matrixB.LDBβINTEGER, the leading dimension of the arrayB.LDB >= max(1,N).XβCOMPLEX*16array, dimension(LDX,NRHS). On entry, the solution matrixX, as computed byZGBTRS. On exit, the improved solution matrixX. π«LDXβINTEGER, the leading dimension of the arrayX.LDX >= max(1,N).FERRβDOUBLE PRECISIONarray, dimension(NRHS). The estimated forward error bound for each solution vectorX(j)(thej-th column of the solution matrixX). 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.BERRβDOUBLE PRECISIONarray, 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).WORKβCOMPLEX*16array, dimension(2*N).RWORKβDOUBLE PRECISIONarray, dimension(N).INFOβINTEGER:= 0: successful exit< 0: ifINFO = -i, thei-th argument had an illegal value
Internal Parameters
ITMAXis the maximum number of steps of iterative refinement.
Author
Univ. of TennesseeUniv. of California BerkeleyUniv. of Colorado DenverNAG Ltd.
Definition at line 203 of file zgbrfs.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.
Okay bestie, thatβs the whole gbrfs(3) saga π The footer stamps this as LAPACK, Version 3.12.0, page gbrfs(3) β no extra date line in this chunk, just the version-and-page receipt. Slay, and may your bands always be factorized. πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms