BLAS/SRC/sgbmv.f(3)
π BLAS/SRC/sgbmv.f β the sgbmv tea π
okay bestie, gather round, because we're talking about sgbmv from LAPACK's BLAS folder (BLAS/SRC/sgbmv.f), and honestly? it's giving band matrix main character energy. β¨
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine sgbmv (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y,
incy)
SGBMV β that's the whole vibe, that's the name, periodt. π
π¦ Function/Subroutine Documentation π¦
subroutine sgbmv (character trans, integer m, integer n, integer kl, integer
ku, real alpha, real, dimension(lda,*) a, integer lda, real,
dimension(*) x, integer incx, real beta, real, dimension(*) y, integer
incy)
SGBMV π«Ά
β¨ Purpose β¨
so like, SGBMV performs one of the matrix-vector operations
y := alpha*A*x + beta*y, or y := alpha*A**T*x + beta*y,
where alpha and beta are scalars, x and y are vectors and A is an m by n band matrix, with kl sub-diagonals and ku super-diagonals. no cap, that's literally the whole job. π₯
π Parameters π
TRANSβTRANSisCHARACTER*1. On entry,TRANSspecifies the operation to be performed as follows:
TRANS = 'N' or 'n' y := alpha*A*x + beta*y.
TRANS = 'T' or 't' y := alpha*A**T*x + beta*y.
TRANS = 'C' or 'c' y := alpha*A**T*x + beta*y.
(yes bestie, 'C' does the same thing as 'T' here β conjugate-transpose who? not today π)
MβMisINTEGER. On entry,Mspecifies the number of rows of the matrixA.Mmust be at least zero.NβNisINTEGER. On entry,Nspecifies the number of columns of the matrixA.Nmust be at least zero.KLβKLisINTEGER. On entry,KLspecifies the number of sub-diagonals of the matrixA.KLmust satisfy0 .le. KL.KUβKUisINTEGER. On entry,KUspecifies the number of super-diagonals of the matrixA.KUmust satisfy0 .le. KU.ALPHAβALPHAisREAL. On entry,ALPHAspecifies the scalaralpha. πAβAisREALarray, dimension( LDA, N ). Before entry, the leading( kl + ku + 1 )bynpart of the arrayAmust contain the matrix of coefficients, supplied column by column, with the leading diagonal of the matrix in row( ku + 1 )of the array, the first super-diagonal starting at position 2 in rowku, the first sub-diagonal starting at position 1 in row( ku + 2 ), and so on.
Elements in the array A that do not correspond to elements in the band matrix (such as the top left ku by ku triangle) are not referenced. π
The following program segment will transfer a band matrix from conventional full matrix storage to band storage:
DO 20, J = 1, N
K = KU + 1 - J
DO 10, I = MAX( 1, J - KU ), MIN( M, J + KL )
A( K + I, J ) = matrix( I, J )
10 CONTINUE
20 CONTINUE
like, that snippet is iconic, don't @ me. π
LDAβLDAisINTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at least( kl + ku + 1 ).XβXisREALarray, dimension at least( 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.INCXβINCXisINTEGER. On entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. π«BETAβBETAisREAL. On entry,BETAspecifies the scalarbeta. WhenBETAis supplied as zero thenYneed not be set on input. (free real estate, love that for you π )YβYisREALarray, dimension at least( 1 + ( m - 1 )*abs( INCY ) )whenTRANS = 'N'or'n'and at least( 1 + ( n - 1 )*abs( INCY ) )otherwise. Before entry, 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. β¨ bye bestie, nothing to do here β¨
INCYβINCYisINTEGER. On entry,INCYspecifies the increment for the elements ofY.INCYmust not be zero. π«
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the academic girlies really came through fr fr ππ
β Further Details: β
- Level 2 Blas routine.
- The vector and matrix arguments are not referenced when
N = 0, orM = 0
-- 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.
the 1986 legends themselves, we stan an origin story π«Ά
π§ Definition
Definition at line 186 of file sgbmv.f.
π Author (of this page)
Generated automatically by Doxygen for LAPACK from the source code.
aaaand that's the whole page bestie, no crumbs left. this lil writeup is Version 3.12.0, dated Tue Nov 28 2023 12:08:41, and it lives at BLAS/SRC/sgbmv.f(3) β slay, mwah, bye ππΈβ¨
π¦ where this page comes from
- centos-stream 10: blas 3.12.0-7.el10 Β· BSD-3-Clause-Open-MPI
- fedora 43: blas 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 43: blas 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 44: blas 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- fedora 44: blas 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms