BLAS/SRC/zgemv.f(3)
π NAME π
okay bestie, this page is BLAS/SRC/zgemv.f(3) β yep, that's the title β and it lives in the Library Functions Manual. It's all about zgemv, and she is ready to serve matrix-vector realness β¨
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine zgemv (trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
ZGEMV
π Function/Subroutine Documentation π
subroutine zgemv (character trans, integer m, integer n, 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)
ZGEMV
ZGEMV is the main character here. Periodt π
Purpose
okay so ZGEMV performs one of these matrix-vector operations, and you're gonna want to memorize the vibe:
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, x and y are vectors, and A is an m by n matrix. No cap, that's the whole glow-up π¦
Parameters
TRANSβTRANS is CHARACTER*1. On entry,TRANStells the routine which operation to do, and the options are giving: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,Mspecifies the number of rows of the matrixA.Mmust be at least zero. Lowkey important: at least zero, bestie π«ΆNβN is INTEGER. On entry,Nspecifies the number of columns of the matrixA.Nmust be at least zero. Same energy: at least zero πALPHAβALPHA is COMPLEX*16. On entry,ALPHAspecifies the scalaralpha. That's it, that's the icon β¨AβA is COMPLEX*16 array, dimension ( LDA, N ). Before entry, the leadingmbynpart of the arrayAmust contain the matrix of coefficients. She's the coefficient queen πLDAβLDA is INTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at leastmax( 1, m ). Do not play with this, fr fr π¨XβX is COMPLEX*16 array, 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. She's incremented, she's complex, she's booked and busy πΈINCXβINCX is INTEGER. On entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. Not zero. We do not do zero here πBETAβBETA is COMPLEX*16. On entry,BETAspecifies the scalarbeta. WhenBETAis supplied as zero, thenYneed not be set on input. Cute shortcut, ngl β¨YβY is COMPLEX*16 array, 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 vectory. On exit,Yis overwritten by the updated vectory. If eithermornis zero, thenYnot referenced and the function performs a quick return. She said quick return and meant it πINCYβINCY is INTEGER. On entry,INCYspecifies the increment for the elements ofY.INCYmust not be zero. Again: not zero, bestie π«Ά
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 159 of file zgemv.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
okay final vibe check, bestie: this page is from LAPACK Version 3.12.0, file BLAS/SRC/zgemv.f(3), and the routine itself was written on 22-October-1986. iconic, historic, complex*16-coded π
β¨π
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms