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, TRANS tells 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, M specifies the number of rows of the matrix A. M must be at least zero. Lowkey important: at least zero, bestie 🫢
  • N β€” N is INTEGER. On entry, N specifies the number of columns of the matrix A. N must be at least zero. Same energy: at least zero πŸ’–
  • ALPHA β€” ALPHA is COMPLEX*16. On entry, ALPHA specifies the scalar alpha. That's it, that's the icon ✨
  • 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 coefficient queen πŸ‘‘
  • 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 ). Do not play with this, fr fr 🚨
  • 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. She's incremented, she's complex, she's booked and busy 🌸
  • INCX β€” INCX is INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Not zero. We do not do zero here πŸ’€
  • 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. Cute shortcut, ngl ✨
  • 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. If either m or n is zero, then Y not referenced and the function performs a quick return. She said quick return and meant it πŸ’…
  • INCY β€” INCY is INTEGER. On entry, INCY specifies the increment for the elements of Y. INCY must 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, 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 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