STBSV(3)
π STBSV(3) β or, "how to solve a triangular band system and feel iconic doing it"
okay so real talk, this page lives in the Library Functions Manual, the file is /home/abui...SRC/stbsv.f(3), and bestieβ¦ it's a whole BLAS moment. buckle up π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/stbsv.f
like, yes, the NAME section is literally just the source path. she's mysterious. she's a .f file. we respect her π«Ά
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine STBSV (uplo, trans, diag, n, k, a, lda, x, incx)β STBSV π«
π Function/Subroutine Documentation π
subroutine STBSV (character uplo, character trans, character diag, integer n, integer k, real, dimension(lda,*) a, integer lda, real, dimension(*) x, integer incx)
STBSV. that's her name, that's her whole thing π
π¦ Purpose π¦
STBSV solves one of the systems of equations A*x = b, or A**T*x = b,
where b and x are n element vectors and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals. slay π
π¨ lowkey important warning bestie: no test for singularity or near-singularity is included in this routine. such tests must be performed before calling this routine. like, she will NOT check for you. she trusts you. do your vibes check first, fr fr.
π Parameters π
UPLOβ isCHARACTER*1. On entry,UPLOspecifies whether the matrix is an upper or lower triangular matrix as follows:UPLO = 'U' or 'u'β A is an upper triangular matrix.UPLO = 'L' or 'l'β A is a lower triangular matrix.
TRANSβ isCHARACTER*1. On entry,TRANSspecifies the equations to be solved as follows:TRANS = 'N' or 'n'βA*x = b.TRANS = 'T' or 't'βA**T*x = b.TRANS = 'C' or 'c'βA**T*x = b.
DIAGβ isCHARACTER*1. On entry,DIAGspecifies whether or not A is unit triangular as follows:DIAG = 'U' or 'u'β A is assumed to be unit triangular.DIAG = 'N' or 'n'β A is not assumed to be unit triangular.
Nβ isINTEGER. On entry,Nspecifies the order of the matrix A.Nmust be at least zero.Kβ isINTEGER. On entry withUPLO = 'U' or 'u',Kspecifies the number of super-diagonals of the matrix A. On entry withUPLO = 'L' or 'l',Kspecifies the number of sub-diagonals of the matrix A.Kmust satisfy0 .le. K.Aβ isREALarray, dimension( LDA, N ).
Before entry with UPLO = 'U' or 'u', the leading ( k + 1 ) by n part of the array A must contain the upper triangular band part of the matrix of coefficients, supplied column by column, with the leading diagonal of the matrix in row ( k + 1 ) of the array, the first super-diagonal starting at position 2 in row k, and so on. The top left k by k triangle of the array A is not referenced.
The following program segment will transfer an upper triangular band matrix from conventional full matrix storage to band storage:
DO 20, J = 1, N
M = K + 1 - J
DO 10, I = MAX( 1, J - K ), J
A( M + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE
Before entry with UPLO = 'L' or 'l', the leading ( k + 1 ) by n part of the array A must contain the lower triangular band part of the matrix of coefficients, supplied column by column, with the leading diagonal of the matrix in row 1 of the array, the first sub-diagonal starting at position 1 in row 2, and so on. The bottom right k by k triangle of the array A is not referenced.
The following program segment will transfer a lower triangular band matrix from conventional full matrix storage to band storage:
DO 20, J = 1, N
M = 1 - J
DO 10, I = J, MIN( N, J + K )
A( M + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE
note that whenDIAG = 'U' or 'u'the elements of the arrayAcorresponding to the diagonal elements of the matrix are not referenced, but are assumed to be unity. she said "diagonal? never met her." π
LDAβ isINTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at least( k + 1 ).Xβ isREALarray, dimension at least( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented arrayXmust contain the n element right-hand side vectorb. On exit,Xis overwritten with the solution vectorx. she ate and left no crumbs πINCXβ isINTEGER. On entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. like literally do not. π₯
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad, no cap π
β Further Details β
Level 2 Blas routine. -- Written on 22-October-1986. Jack Dongarra, Argonne National Lab. Jeremy Du Croz, Nag Central Office. Sven Hammarling, Nag Central Office. Richard Hanson, Sandia National Labs.
1986!! the vintage of it all. main character energy since before we were born π§β¨
π Definition π
Definition at line 188 of file stbsv.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (not a girlboss, just a doc generator, but she did her best π«Ά)
and that's the page!! LAPACK, Version 3.12.0, living at /home/abui...SRC/stbsv.f(3) β mwah, bye bestie, go solve some triangular band systems ππ
β¨
π¦ 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