BLAS/SRC/cgemv.f(3)
π NAME π
BLAS/SRC/cgemv.f β bestie, this is the file, and the star of the show inside it is CGEMV π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine cgemv (trans, m, n, alpha, a, lda, x, incx, beta, y, incy)β CGEMV π
π¦ Function/Subroutine Documentation π¦
πΈ The signature, in all its glory πΈ
subroutine cgemv (character trans, integer m, integer n, complex alpha,
complex, dimension(lda,*) a, integer lda, complex, dimension(*) x,
integer incx, complex beta, complex, dimension(*) y, integer incy)
CGEMV π₯
π― Purpose
okay so listen π«Ά β CGEMV performs one of these matrix-vector operations:
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. That's the whole vibe π«
π Parameters
β TRANS
TRANS is CHARACTER*1
On entry, TRANS tells you which operation is getting performed, like:
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, M specifies the number of rows of the matrix A. M must be at least zero. (yes, zero is allowed, we love a lowkey degenerate case π)
β N
N is INTEGER
On entry, N specifies the number of columns of the matrix A. N must be at least zero too π
β ALPHA
ALPHA is COMPLEX
On entry, ALPHA specifies the scalar alpha. Just a lil scalar, no big deal β¨
β A
A is COMPLEX array, dimension ( LDA, N )
Before entry, the leading m by n part of the array A must contain the matrix of coefficients. That's the main character right there π
β LDA
LDA is INTEGER
On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, m ). no cap, it's a hard requirement π¨
β X
X is COMPLEX 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 array X must contain the vector x. bestie please size this right, I'm begging π
β INCX
INCX is INTEGER
On entry, INCX specifies the increment for the elements of X. INCX must not be zero. π (fr fr, do not pass zero)
β BETA
BETA is COMPLEX
On entry, BETA specifies the scalar beta. When BETA is supplied as zero then Y need not be set on input β little treat for you π
β Y
Y is COMPLEX array, dimension at least
( 1 + ( m - 1 )*abs( INCY ) )whenTRANS = 'N' or 'n'- and at least
( 1 + ( n - 1 )*abs( INCY ) )otherwise.
Before entry with BETA non-zero, the incremented array Y must contain the vector y. On exit, Y is overwritten by the updated vector y. π«
If either m or n is zero, then Y is not referenced and the function performs a quick return. iconic, it just leaves π§
β INCY
INCY is INTEGER
On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. same energy as INCX, don't test me π
π 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 whenN = 0, orM = 0.
And the origin story, we stan a documented lineage π«Ά:
-- 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 cgemv.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a bot doing its lil job π€β¨)
aaaand that's the page, bestie β LAPACK, Version 3.12.0, BLAS/SRC/cgemv.f(3). go forth and multiply your matrices ππΈπ¦π
π¦ 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