BLAS/SRC/dtrmv.f(3)

✨ NAME ✨

BLAS/SRC/dtrmv.f β€” bestie, this is the page for dtrmv, and it lives in the LAPACK manual (yes, the same LAPACK you're probably already crying about πŸ’–).


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine dtrmv (uplo, trans, diag, n, a, lda, x, incx) β€” that's DTRMV, the whole thing, that's her πŸ‘‘

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

subroutine dtrmv (character uplo, character trans, character diag, integer n, double precision, dimension(lda,*) a, integer lda, double precision, dimension(*) x, integer incx)

DTRMV β€” she's a BLAS Level 2 routine and she eats every time, no cap.

πŸ’… Purpose:

DTRMV performs one of the matrix-vector operations

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

where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix. It's giving "triangles only, we don't do rectangles here" πŸŽ€

🫢 Parameters

  • UPLO β€” this one is CHARACTER*1. On entry, UPLO specifies whether the matrix is an upper or lower triangular matrix as follows:
    • UPLO = 'U' or 'u' β†’ A is an upper triangular matrix.
    • UPLO = 'L' or 'l' β†’ A is a lower triangular matrix.
  • TRANS β€” also 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**T*x.
not the 'C' doing exactly what 'T' does 😭 iconic behaviour honestly, that's just how she is.
  • DIAG β€” CHARACTER*1 again, she's consistent. On entry, DIAG specifies whether or not A is unit triangular as follows:
    • DIAG = 'U' or 'u' β†’ A is assumed to be unit triangular.
    • DIAG = 'N' or 'n' β†’ A is not assumed to be unit triangular.
  • N β€” INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. (Zero is allowed, bestie, she's chill like that ✨)
  • A β€” DOUBLE PRECISION 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. Like, girl isn't even looking at your diagonal, she just assumes it's 1s πŸ’€
  • LDA β€” 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 β€” DOUBLE PRECISION 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 does not leave a note, she just replaces your whole vector, periodt πŸ”₯
  • INCX β€” INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero.
fr fr do not pass zero. That's the one thing she asked for.

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

1986!! she's been serving since before most of us were born and she has never once missed πŸŽ€

πŸ“ Definition at line 146 of file dtrmv.f.


⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code. (Not me writing this by hand, the robots did it, and honestly? they ate πŸ™ˆ)


Version 3.12.0 β€” Tue Nov 28 2023 12:08:41 and that's the whole page bestie, BLAS/SRC/dtrmv.f(3) out πŸ’–βœ¨ bye mwah 🫢