BLAS/SRC/dtbmv.f(3)
π BLAS/SRC/dtbmv.f π
okay bestie, gather round, because we're about to get into BLAS/SRC/dtbmv.f β yes it's a LAPACK file, yes it's Fortran, yes it's iconic, and yes you're gonna understand it. no cap. π¦
β¨ SYNOPSIS β¨
πΈ Functions/Subroutines
subroutine dtbmv (uplo, trans, diag, n, k, a, lda, x, incx)
DTBMV
π Function/Subroutine Documentation π
π subroutine dtbmv
subroutine dtbmv (character uplo, character trans, character diag, integer
n, integer k, double precision, dimension(lda,*) a, integer lda, double
precision, dimension(*) x, integer incx)
DTBMV β that's the name, that's the whole vibe, we move.
β Purpose
okay so here's the tea: DTBMV performs one of the matrix-vector operations
x := A*x, or x := A**T*x,
where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular band matrix, with ( k + 1 ) diagonals. that's it, that's the whole job. she's a band matrix girlie and she ate. π
π Parameters
UPLOβ bestie, this isCHARACTER*1. on entry,UPLOsays whether the matrix is an upper or lower triangular matrix, like so:UPLO = 'U' or 'u'βAis an upper triangular matrix.UPLO = 'L' or 'l'βAis a lower triangular matrix.
TRANSβ alsoCHARACTER*1. on entry,TRANSsays which operation we're doing, fr fr:TRANS = 'N' or 'n'βx := A*x.TRANS = 'T' or 't'βx := A**T*x.TRANS = 'C' or 'c'βx := A**T*x.
DIAGβCHARACTER*1again, she's consistent. on entry,DIAGsays whether or notAis unit triangular:DIAG = 'U' or 'u'βAis assumed to be unit triangular.DIAG = 'N' or 'n'βAis not assumed to be unit triangular.
NβINTEGER. on entry,Nspecifies the order of the matrixA.Nmust be at least zero. (zero is fine, zero is valid, we love a low-maintenance queen. π)KβINTEGER. on entry withUPLO = 'U' or 'u',Kspecifies the number of super-diagonals of the matrixA. on entry withUPLO = 'L' or 'l',Kspecifies the number of sub-diagonals of the matrixA.Kmust satisfy0 .le. K.AβDOUBLE PRECISION array, dimension ( LDA, N ). okay this one's the long one, stay with me π
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. so like, don't bother filling them in, she's not looking. π
LDAβINTEGER. on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at least( k + 1 ).XβDOUBLE PRECISION array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). before entry, the incremented arrayXmust contain thenelement vectorx. on exit,Xis overwritten with the transformed vectorx. bye oldx, hello newx. π¦INCXβINTEGER. on entry,INCXspecifies the increment for the elements ofX.INCXmust 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, or M = 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 185 of file dtbmv.f. periodt. π
π§ Author π§
generated automatically by Doxygen for LAPACK from the source code. not me getting generated by a documentation tool, that's so main character energy honestly. β¨
and that's the whole page bestie!! thanks for reading, mwah, ily π«Ά
Version 3.12.0 β Tue Nov 28 2023 12:08:41 β BLAS/SRC/dtbmv.f(3) π no cap, that's the version and the date, slay.
π¦ 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