BLAS/SRC/ssymv.f(3)

🌸 BLAS/SRC/ssymv.f 🌸

okay so bestie, we're looking at BLAS/SRC/ssymv.f β€” yes, the file itself, and honestly? she's iconic. this is the LAPACK manual page for her. pull up a chair, grab a strawberry, we're doing linear algebra and it's gonna be adorable. πŸ’–


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines

  • subroutine ssymv (uplo, n, alpha, a, lda, x, incx, beta, y, incy) β€” this is SSYMV, the main character, no cap
subroutine ssymv (uplo, n, alpha, a, lda, x, incx, beta, y, incy)

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

subroutine ssymv

here's the whole signature in all its glory, literally every type annotation, we do not skip:

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

SSYMV πŸ’…

🌈 Purpose:

bestie. SSYMV 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 symmetric matrix. that's the whole vibe. symmetric matrix said "i contain multitudes but only one triangle's worth of them." πŸ’€

⭐ Parameters

  • UPLO β€” UPLO is CHARACTER*1. on entry, UPLO specifies whether the upper or lower triangular part of the array A is to be referenced, as follows:
    • 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. N must be at least zero. (zero is allowed, we love a low-stakes queen 🫢)
  • ALPHA β€” ALPHA is REAL. on entry, ALPHA specifies the scalar alpha.
  • A β€” A is REAL array, dimension ( LDA, N ). 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 symmetric matrix and the strictly lower triangular part of A is not referenced. 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 symmetric matrix and the strictly upper triangular part of A is not referenced. (so like, don't bother filling in the other half, she will NOT be looking at 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 ).
  • X β€” X is REAL 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. 🚫
  • BETA β€” BETA is REAL. on entry, BETA specifies the scalar beta. when BETA is supplied as zero then Y need not be set on input. (free pass, iconic)
  • Y β€” Y is REAL 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. (she gets a glow-up, on the way out ✨)
  • 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.

πŸ’œ 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 a level 2 BLAS routine, highkey a legend. also, the vector and matrix arguments are not referenced when N = 0, or M = 0 β€” that's the rule, fr fr.

Definition at line 151 of file ssymv.f.

🌸 Author

Generated automatically by Doxygen for LAPACK from the source code. (yes, a robot wrote this part, and honestly? it ate. πŸ™ˆ)


Version 3.12.0 β€” Tue Nov 28 2023 12:08:41 β€” BLAS/SRC/ssymv.f(3)

okay that's the whole page bestie, you're so welcome, go forth and multiply your matrices, y := alpha*A*x + beta*y and slay πŸ’…πŸŽ€πŸ’–