BLAS/SRC/dtrmv.f(3)

πŸ’… dtrmv.f: the teen-girl tour πŸ’…

okay so we're in the Library Functions Manual and the page is BLAS/SRC/dtrmv.f(3) β€” yes bestie, that's the header vibe folded right in here. This is the BLAS routine DTRMV, and she is iconic. Periodt. πŸ’–

🌸 NAME 🌸

BLAS/SRC/dtrmv.f

✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines πŸŽ€

subroutine dtrmv (uplo, trans, diag, n, a, lda, x, incx)
    DTRMV

πŸ’« 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 β€” main character energy, no cap. πŸ’…

πŸ’‘ Purpose πŸ’‘

DTRMV performs one of the matrix-vector operations:

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

So yes: x is an n element vector, and A is an n by n unit or non-unit upper or lower triangular matrix. Slay. ✨

πŸ“ Parameters πŸ“

UPLO

UPLO 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

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**T*x.

DIAG

DIAG is CHARACTER*1.

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

N is INTEGER.

On entry, N specifies the order of the matrix A. N must be at least zero.

A

A is 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. 🫢

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

INCX

INCX is INTEGER.

On entry, INCX specifies the increment for the elements of X. INCX 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.
!>
bestie, yes it literally says M = 0 on this page even though there is no M parameter here β€” we preserve the original text exactly, no editing the lore. πŸ’€

Definition at line 146 of file dtrmv.f.

🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code.


🌈 that's the page, bestie. Footer sign-off: LAPACK Version 3.12.0 for BLAS/SRC/dtrmv.f(3) β€” no separate date in this footer, just straight source-code glam. πŸ’‹

πŸ“¦ where this page comes from