BLAS/SRC/ctrmv.f(3)

πŸ’– BLAS/SRC/ctrmv.f πŸ’–

ok bestie come SIT. this is a LAPACK page, specifically the ctrmv.f one from BLAS/SRC, and we're gonna read it together like it's the group chat and someone just dropped lore. no cap, it's actually kinda iconic. 🌸


✨ NAME ✨

BLAS/SRC/ctrmv.f β€” that's the file, that's the whole name, she's lowkey mysterious like that. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

subroutine ctrmv (uplo, trans, diag, n, a, lda, x, incx)
    CTRMV

πŸŽ€ Function/Subroutine Documentation πŸŽ€

subroutine ctrmv (character uplo, character trans, character diag, integer
    n, complex, dimension(lda,*) a, integer lda, complex, dimension(*) x,
    integer incx)

CTRMV β€” say her name, she ate. πŸ‘‘

🌈 Purpose:

CTRMV performs one of the matrix-vector operations

x := A*x,   or   x := A**T*x,   or   x := A**H*x,

where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix.

like. it takes your vector, it takes your triangular matrix, and it does the lil transformation thing. main character energy fr fr. ✨


πŸ’œ Parameters

  • UPLO β€” UPLO is CHARACTER*1. on entry, UPLO specifies whether the matrix is an upper or lower triangular matrix, and the tea is:
    • UPLO = 'U' or 'u' β†’ A is an upper triangular matrix.
    • UPLO = 'L' or 'l' β†’ A is a lower triangular matrix.
  • TRANS β€” TRANS is CHARACTER*1. on entry, TRANS specifies the operation to be performed, as follows:
    • TRANS = 'N' or 'n' β†’ x := A*x.
    • TRANS = 'T' or 't' β†’ x := A**T*x.
    • TRANS = 'C' or 'c' β†’ x := A**H*x.
  • DIAG β€” DIAG is CHARACTER*1. on entry, DIAG specifies whether or not A is unit triangular, like:
    • DIAG = 'U' or 'u' β†’ A is assumed to be unit triangular.
    • DIAG = 'N' or 'n' β†’ A is not assumed to be unit triangular.
  • N β€” N is INTEGER. on entry, N specifies the order of the matrix A. N must be at least zero. (zero is fine bestie, she's chill like that 🫢)
  • A β€” A is COMPLEX 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 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 matrix and the strictly upper triangular part of A is not referenced. note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced either, but are assumed to be unity. πŸ’«
  • 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 COMPLEX array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). before entry, the incremented array X must contain the n element vector x. on exit, X is overwritten with the transformed vector x. she got a glow-up on the way out, periodt. πŸ’…βœ¨
  • INCX β€” INCX is INTEGER. on entry, INCX specifies the increment for the elements of X. INCX must not be zero.
ok real talk: INCX must not be zero. that's not a vibe, that's a rule. 🚫

πŸ‘‘ 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.

ngl the 1986 date is giving vintage and honestly it's iconic. these four wrote it and we're still running it. legends only. πŸ†


🧚 Definition at line 146 of file ctrmv.f.


⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code. (yes she was born from a doc generator, still slaying, don't @ her πŸ™ˆ)


πŸ’– and that's the whole page bestie πŸ’–

Version 3.12.0, dated Tue Nov 28 2023 12:08:41 β€” that's the source and version tea, and this whole thing lives at BLAS/SRC/ctrmv.f(3). go forth and multiply your vectors. πŸŒΈπŸ¦‹πŸ’