BLAS/SRC/dgemv.f(3)
π BLAS/SRC/dgemv.f π
okay bestie, welcome to the dgemv page β it's a LAPACK joint, lives under BLAS/SRC/, and it's literally the moment where a matrix meets a vector and they make a whole new vector together. main character energy fr. let's get into it π
β¨ SYNOPSIS β¨
π¦ Functions/Subroutines
subroutine dgemv (trans, m, n, alpha, a, lda, x, incx, beta, y, incy)β DGEMV π
πΈ Function/Subroutine Documentation πΈ
π subroutine dgemv (character trans, integer m, integer n, double precision alpha, double precision, dimension(lda,*) a, integer lda, double precision, dimension(*) x, integer incx, double precision beta, double precision, dimension(*) y, integer incy)
DGEMV β she's the one, the icon, the legend π
π― Purpose
okay so here's the whole vibe: DGEMV does one of these two matrix-vector operations for you, no cap:
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 matrix. periodt β¨
π§ Parameters
TRANSβ TRANS isCHARACTER*1. on entry,TRANSspecifies the operation to be performed, and she's got options, bestie: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.
Mβ M isINTEGER. on entry,Mspecifies the number of rows of the matrix A.Mmust be at least zero. no negative rows, that's not a thing πNβ N isINTEGER. on entry,Nspecifies the number of columns of the matrix A.Nmust be at least zero. same deal πALPHAβ ALPHA isDOUBLE PRECISION. on entry,ALPHAspecifies the scalar alpha. she's just a lil number doing her best π«ΆAβ A is aDOUBLE PRECISIONarray, dimension( LDA, N ). before entry, the leading m by n part of the arrayAmust contain the matrix of coefficients. she's the star of the show βLDAβ LDA isINTEGER. on entry,LDAspecifies the first dimension of A as declared in the calling (sub) program.LDAmust be at leastmax( 1, m ). respect the stride, she's picky πXβ X is aDOUBLE PRECISIONarray, 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 vector x. πINCXβ INCX isINTEGER. on entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. like, genuinely, zero is not allowed, don't even try it πBETAβ BETA isDOUBLE PRECISION. on entry,BETAspecifies the scalar beta. whenBETAis supplied as zero thenYneed not be set on input. she said you can skip the homework, iconic πYβ Y is aDOUBLE PRECISIONarray, dimension at least( 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 vector y. on exit,Yis overwritten by the updated vector y. so like, she doesn't ask, she just replaces it, slay π- also: if either m or n is zero, then
Yis not referenced and the function performs a quick return. she simply leaves π¦
- also: if either m or n is zero, then
INCYβ INCY isINTEGER. on entry,INCYspecifies the increment for the elements ofY.INCYmust not be zero. same rule asINCX, no zeros allowed, periodt π
π 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.
ngl this routine is older than basically everyone reading this and she's still out here performing, that's legacy behavior π
Definition at line 157 of file dgemv.f. β¨
πΈ Author πΈ
Generated automatically by Doxygen for LAPACK from the source code. π€π
and that's the whole page, bestie!! this one's from LAPACK Version 3.12.0, dated Tue Nov 28 2023 12:08:41, and yeah the Doxygen just auto-generated the whole thing for us. go forth and multiply your matrices π«Άπβ¨
π¦ 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