BLAS/SRC/chemv.f(3)

πŸ’– chemv β€” BLAS/SRC/chemv.f πŸ’–

okay bestie, gather round, because this is literally the hermitian matrix-vector girlboss of the BLAS catalog and she is serving. this page lives in the LAPACK manual under BLAS/SRC/chemv.f, and yes, it's giving "I do one thing and I do it flawlessly." πŸ’…


✨ NAME ✨

BLAS/SRC/chemv.f β€” like, that's her. that's the whole name. iconic of her honestly.


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine chemv (uplo, n, alpha, a, lda, x, incx, beta, y, incy) β€” this is CHEMV, our main character πŸ‘‘

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine chemv (character uplo, integer n, complex alpha, complex,
    dimension(lda,*) a, integer lda, complex, dimension(*) x, integer incx,
    complex beta, complex, dimension(*) y, integer incy)

CHEMV β€” say her name, say her name πŸŽ€

🎯 Purpose

okay so what does she actually do. bestie. she performs the matrix-vector operation

y := alpha*A*x + beta*y,

where alpha and beta are scalars, x and y are n element vectors, and A is an n by n hermitian matrix. no cap, that's the whole job and she ate. ✨


πŸ’œ Parameters

  • UPLO β€” this one is CHARACTER*1. on entry, UPLO specifies whether the upper or lower triangular part of the array A is to be referenced, and here's the tea:
    • UPLO = 'U' or 'u' β€” only the upper triangular part of A is to be referenced. πŸ‘†
    • UPLO = 'L' or 'l' β€” only the lower triangular part of A is to be referenced. πŸ‘‡
  • N β€” N is INTEGER. on entry, N specifies the order of the matrix A. and listen, N must be at least zero. that's the law. 🚨
  • ALPHA β€” ALPHA is COMPLEX. on entry, ALPHA specifies the scalar alpha. she's just a little guy. a scalar. a vibe. πŸ’«
  • A β€” A is COMPLEX array, dimension ( LDA, N ). so here's how it goes:
    • before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular part of the hermitian matrix, and the strictly lower triangular part of A is not referenced. she's not even looking at it. πŸ™ˆ
    • before entry with UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular part of the hermitian matrix, and the strictly upper triangular part of A is not referenced.
    • > πŸ“Œ note that the imaginary parts of the diagonal elements need not be set and are assumed to be zero. so don't stress about them, bestie, she's handling it. πŸ’…
  • 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, n ). that's the minimum. don't test her. βœ‹
  • X β€” X is COMPLEX array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). before entry, the incremented array X must contain the n element vector x. 🧺
  • INCX β€” INCX is INTEGER. on entry, INCX specifies the increment for the elements of X. INCX must not be zero. like, genuinely, zero is not an option here. 🚫
  • BETA β€” BETA is COMPLEX. on entry, BETA specifies the scalar beta. and here's a lil freebie: when BETA is supplied as zero then Y need not be set on input. she said "don't bother, I got it." 🫢
  • Y β€” Y is COMPLEX array, dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). before entry, the incremented array Y must contain the n element vector y. on exit, Y is overwritten by the updated vector y. glow up moment, honestly. ✨
  • INCY β€” INCY is INTEGER. on entry, INCY specifies the increment for the elements of Y. INCY must not be zero. same energy as INCX. no zeros allowed in this house. 🏠

πŸ‘‘ Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

the whole squad. the council. the founding mothers and fathers of this whole operation. 🌈


πŸ”₯ Further Details

  • Level 2 Blas routine. (yes, level 2. she's a level 2 BLAS routine and she's proud of it.)
  • The vector and matrix arguments are not referenced when N = 0, or M = 0.

and then the receipts, the origin story, the lore:

-- 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.

1986!! she's been serving for decades and she has not missed a single day. a legend. a pioneer. periodt. πŸ’€πŸ’–


πŸ“ Definition

Definition at line 153 of file chemv.f.


🧚 Author

Generated automatically by Doxygen for LAPACK from the source code. (so don't come for the formatting, the robot did it, and honestly? it ate. πŸ€–βœ¨)


and that's the whole page, bestie!! you now know everything there is to know about CHEMV and you didn't even have to read boring manpage prose for it. proud of you. go call her. πŸ’œ

Version 3.12.0 Β· Tue Nov 28 2023 12:08:41 Β· BLAS/SRC/chemv.f(3) β€” mwah, that's the version, that's the date, that's the file, and that's a wrap. stay hermitian. πŸŽ€πŸ’–πŸ¦‹