BLAS/SRC/zgemv.f(3)
β¨ BLAS/SRC/zgemv.f β¨
okay bestie, welcome to the zgemv page from the LAPACK manual (yes, the BLAS/SRC/zgemv.f(3) one, we're being β¨specificβ¨). this is the glow-up guide to one little subroutine that does a whole lot of math and looks iconic doing it. let's go π
π¦ NAME π¦
BLAS/SRC/zgemv.f
like, that's the whole name. short, sweet, slay.
πΈ 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 β say it with me, it's giving main character energy β¨
Purpose:
okay so here's the vibe. ZGEMV performs one of these matrix-vector operations, and you get to pick which one:
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 it, that's the whole job. no cap π«Ά
Parameters
TRANS
TRANS is CHARACTER*1. on entry, TRANS specifies the operation to be performed as follows:
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. (zero is fine, we don't judge π)
N
N is INTEGER. on entry, N specifies the number of columns of the matrix A. N must be at least zero.
ALPHA
ALPHA is COMPLEX*16. on entry, ALPHA specifies the scalar alpha. the moment β¨
A
A is COMPLEX*16 array, dimension ( LDA, N ). before entry, the leading m by n part of the array A must contain the matrix of coefficients. she's the star of the show, obviously π
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 ).
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 array X must contain the vector x.
INCX
INCX is INTEGER. on entry, INCX specifies the increment for the elements of X. INCX must not be zero. like, do NOT.
BETA
BETA is COMPLEX*16. on entry, BETA specifies the scalar beta. when BETA is supplied as zero then Y need not be set on input. convenient, we love her π
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 with BETA non-zero, the incremented array Y must contain the vector y. on exit, Y is overwritten by the updated vector y. glow-up complete β¨ if either m or n is zero, then Y not referenced and the function performs a quick return. she said "not today" and left π
INCY
INCY is INTEGER. on entry, INCY specifies the increment for the elements of Y. INCY must not be zero.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
(the whole friend group showed up π«Ά)
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.
lowkey iconic that this has been holding it down since 1986. legends only. π
Definition at line 159 of file zgemv.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (yes bestie, a robot wrote the docs, and she ate π€β¨)
and that's the whole page fr fr π mwah. this was Version 3.12.0, dated Tue Nov 28 2023 12:08:41 β go forth and multiply your matrices, bestie, you're gonna 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