/home/abui...la_gbamv.f(3)
π SLA_GBAMV β /home/abui...la_gbamv.f(3)
okay bestie, welcome to the third section of the manual β Library Functions Manual β and the star of the show is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sla_gbamv.f. yes that's the whole entire path, she's long, she's iconic, she's giving filesystem realness π
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sla_gbamv.f β literally the file, no notes π
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines
subroutine SLA_GBAMV (trans, m, n, kl, ku, alpha, ab, ldab, x, incx,
beta, y, incy)
SLA_GBAMV performs a matrix-vector operation to calculate error bounds. that's her job, that's her purpose, she ate π₯
π Function/Subroutine Documentation π
subroutine SLA_GBAMV (integer trans, integer m, integer n, integer kl,
integer ku, real alpha, real, dimension( ldab, * ) ab, integer ldab,
real, dimension( * ) x, integer incx, real beta, real, dimension( * ) y,
integer incy)
SLA_GBAMV performs a matrix-vector operation to calculate error bounds. periodt. π
πΈ Purpose:
!>
!> SLA_GBAMV performs one of the matrix-vector operations
!>
!> y := alpha*abs(A)*abs(x) + beta*abs(y),
!> or y := alpha*abs(A)**T*abs(x) + beta*abs(y),
!>
!> where alpha and beta are scalars, x and y are vectors and A is an
!> m by n matrix.
!>
!> This function is primarily used in calculating error bounds.
!> To protect against underflow during evaluation, components in
!> the resulting vector are perturbed away from zero by (N+1)
!> times the underflow threshold. To prevent unnecessarily large
!> errors for block-structure embedded in general matrices,
!> zero components are not perturbed. A zero
!> entry is considered if all multiplications involved
!> in computing that entry have at least one zero multiplicand.
!>
so like, she's mainly out here calculating error bounds (main character energy tbqh). and there's this whole underflow-protection situation: to protect against underflow during evaluation, components in the resulting vector get perturbed away from zero by (N+1) times the underflow threshold. but β and this is the important bit β to prevent unnecessarily large errors for block-structure embedded in general matrices, zero components are not perturbed. a zero entry counts as zero if all multiplications involved in computing that entry have at least one zero multiplicand. slay, no notes π«Ά
π Parameters π
TRANSβTRANS is INTEGER. on entry,TRANSspecifies the operation to be performed as follows:
BLAS_NO_TRANS y := alpha*abs(A)*abs(x) + beta*abs(y)
BLAS_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y)
BLAS_CONJ_TRANS y := alpha*abs(A**T)*abs(x) + beta*abs(y)
unchanged on exit. π«
MβM is INTEGER. on entry,Mspecifies the number of rows of the matrixA.Mmust be at least zero. unchanged on exit.NβN is INTEGER. on entry,Nspecifies the number of columns of the matrixA.Nmust be at least zero. unchanged on exit.KLβKL is INTEGER. the number of subdiagonals within the band ofA.KL >= 0. lowkey the lower band situation π¦KUβKU is INTEGER. the number of superdiagonals within the band ofA.KU >= 0. and this one's the upper band situation β¨ALPHAβALPHA is REAL. on entry,ALPHAspecifies the scalaralpha. unchanged on exit.ABβAB is REAL array, dimension ( LDAB, n ). before entry, the leadingmbynpart of the arrayABmust contain the matrix of coefficients. unchanged on exit.LDABβLDAB is INTEGER. on entry,LDAspecifies the first dimension ofABas declared in the calling (sub) program.LDABmust be at leastmax( 1, m ). unchanged on exit.
ok so bestie, ngl, the original text literally saysLDAhere, notLDABβ that's a whole typo situation in the source, and we are reporting it, not fixing it π keep it exactly as written.
XβX is REAL array, dimension( 1 + ( n - 1 )*abs( INCX ) )whenTRANS = 'N'or'n'and at least( 1 + ( m - 1 )*abs( INCX ) )otherwise. before entry, the incremented arrayXmust contain the vectorx. unchanged on exit.INCXβINCX is INTEGER. on entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. unchanged on exit. (zero is not the vibe π)BETAβBETA is REAL. on entry,BETAspecifies the scalarbeta. whenBETAis supplied as zero thenYneed not be set on input. unchanged on exit.YβY is REAL array, dimension( 1 + ( m - 1 )*abs( INCY ) )whenTRANS = 'N'or'n'and at least( 1 + ( n - 1 )*abs( INCY ) )otherwise. before entry withBETAnon-zero, the incremented arrayYmust contain the vectory. on exit,Yis overwritten by the updated vectory. if eithermornis zero, thenYnot referenced and the function performs a quick return. π¨INCYβINCY is INTEGER. on entry,INCYspecifies the increment for the elements ofY.INCYmust not be zero. unchanged on exit.
Level 2 Blas routine. π (that's the whole note, she's brief and she's confident)
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
these four icons co-wrote her, we stan π«Ά
β Definition at line 185 of file sla_gbamv.f. β
like, literally line 185, go look π
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code. (so nobody hand-wrote this baby, she was birthed by Doxygen, and honestly? iconic π€π)
LAPACK β Version 3.12.0 π and the file tag is /home/abui...la_gbamv.f(3). that's the whole page bestie, you're welcome, go forth and compute your error bounds πβ¨
π¦ 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