BLAS/SRC/zgbmv.f(3)
β¨ zgbmv β the band matrix girlie β¨
ok so this is BLAS/SRC/zgbmv.f, bestie π she lives in the BLAS folder and she does band matrix-vector math and honestly? she ate.
π SYNOPSIS π
Functions/Subroutines
subroutine zgbmv (trans, m, n, kl, ku, alpha, a, lda, x, incx, beta, y, incy)
ZGBMV π
π Function/Subroutine Documentation π
subroutine zgbmv
subroutine zgbmv (character trans, integer m, integer n, integer kl, integer
ku, complex*16 alpha, complex*16, dimension(lda,*) a, integer lda,
complex*16, dimension(*) x, integer incx, complex*16 beta, complex*16,
dimension(*) y, integer incy)
ZGBMV π
πΈ Purpose πΈ
ok so ZGBMV performs one of these matrix-vector operations, pick your fighter:
y := alpha*A*x + beta*y, or y := alpha*A**T*x + beta*y, or
y := alpha*A**H*x + beta*y,
where alpha and beta are scalars (just lil numbers, no cap), x and y are vectors, and A is an m by n band matrix with kl sub-diagonals and ku super-diagonals. iconic honestly π¦
π Parameters π
TRANSβTRANS is CHARACTER*1β on entry,TRANStells you which operation is happening, and it's giving choose-your-own-adventure: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**H*x + beta*y.
MβM is INTEGERβ on entry,Mis the number of rows of the matrixA.Mmust be at least zero. (zero is allowed bestie, we don't judge π)NβN is INTEGERβ on entry,Nis the number of columns of the matrixA.Nmust be at least zero.KLβKL is INTEGERβ on entry,KLis the number of sub-diagonals of the matrixA.KLmust satisfy0 .le. KL. (yes the.le.is Fortran-speak for β€, we love her πΈ)KUβKU is INTEGERβ on entry,KUis the number of super-diagonals of the matrixA.KUmust satisfy0 .le. KU.ALPHAβALPHA is COMPLEX*16β on entry,ALPHAis the scalaralpha. main character scalar energy β¨AβA is COMPLEX*16 array, dimension ( LDA, N )β okay this one's a whole situation, pay attention:- 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
2in rowku, - the first sub-diagonal starting at position
1in row( ku + 2 ), - and so on. π
- the leading diagonal of the matrix in row
- elements in the array
Athat don't correspond to elements in the band matrix (like the top leftkubykutriangle) are not referenced β they're just vibing, ignored, unbothered π - the following program segment will transfer a band matrix from conventional full matrix storage to band storage:
- before entry, the leading
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
LDAβLDA is INTEGERβ on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at least( kl + ku + 1 ). no shortcuts bestie π«ΆXβX is COMPLEX*16 array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n'and at least( 1 + ( m - 1 )*abs( INCX ) )otherwise. Before entry, the incremented arrayXmust contain the vectorx. π¦INCXβINCX is INTEGERβ on entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. π¨ (fr fr, do not)BETAβBETA is COMPLEX*16β on entry,BETAspecifies the scalarbeta. WhenBETAis supplied as zero thenYneed not be set on input. little treat for you πYβY is COMPLEX*16 array, dimension at least ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = '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. she said "not today" and left πINCYβINCY is INTEGERβ 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.
π₯ 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.
Definition at line 188 of file zgbmv.f.
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code. she's literally generated, she's literally that girl π€π
ok bye bestie, that's the whole page π this one came from Version 3.12.0, Tue Nov 28 2023 12:08:41, and the file is BLAS/SRC/zgbmv.f(3). slay, go call your band matrix, but like... with the right LDA. mwah π
β¨
π¦ 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