DTRMV(3)
π DTRMV (3) β bestie edition π¦
ok so this page is literally about /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/dtrmv.f and honestly? she's iconic. LAPACK 3.12.0 energy, BLAS Level 2, the whole vibe. let's get into it β¨
β¨ SYNOPSIS β¨
π Functions/Subroutines
subroutine DTRMV (uplo, trans, diag, n, a, lda, x, incx)β no cap, that's her whole signature. she's called 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 β that's the name, bestie, and she ate π
π§ Purpose
fr fr, 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. that's it. that's the whole job. main character behavior honestly π
πΈ Parameters πΈ
okay so here's everyone in the group chat, one by one:
UPLOβUPLOisCHARACTER*1. on entry,UPLOspecifies whether the matrix is an upper or lower triangular matrix as follows:UPLO = 'U'or'u'βAis an upper triangular matrix.UPLO = 'L'or'l'βAis a lower triangular matrix.
TRANSβTRANSisCHARACTER*1. on entry,TRANSspecifies 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βDIAGisCHARACTER*1. on entry,DIAGspecifies whether or notAis unit triangular as follows:DIAG = 'U'or'u'βAis assumed to be unit triangular.DIAG = 'N'or'n'βAis not assumed to be unit triangular.
NβNisINTEGER. on entry,Nspecifies the order of the matrixA.Nmust be at least zero. zero is allowed, she's flexible like that π«ΆAβAisDOUBLE PRECISION array, dimension ( LDA, N ). okay so:- before entry with
UPLO = 'U'or'u', the leading n by n upper triangular part of the arrayAmust contain the upper triangular matrix, and the strictly lower triangular part ofAis not referenced (she's not looking at it, mind your business π). - before entry with
UPLO = 'L'or'l', the leading n by n lower triangular part of the arrayAmust contain the lower triangular matrix, and the strictly upper triangular part ofAis not referenced. - note that when
DIAG = 'U'or'u', the diagonal elements ofAare not referenced either β they're just assumed to be unity. iconic of them tbh.
- before entry with
LDAβLDAisINTEGER. on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at leastmax( 1, n ). non-negotiable bestie β οΈXβXisDOUBLE PRECISION array, dimension at least( 1 + ( n - 1 )*abs( INCX ) ). before entry, the incremented arrayXmust contain the n element vectorx. on exit,Xis overwritten with the transformed vectorx. so yeah she comes out different, that's the point πINCXβINCXisINTEGER. on entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. ever. please. π
π¦ Author π¦
the whole squad basically:
- 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 whenN = 0, orM = 0
and then the historical lore drop, which is honestly kind of a vibe:
-- 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.
like?? 1986?? they were doing this before i was even a concept. respect. π«‘
Definition at line 146 of file dtrmv.f. β¨
π Author π
Generated automatically by Doxygen for LAPACK from the source code. not me being auto-generated and still serving looks π
and that's the page bestie π source is LAPACK, Version 3.12.0, dated with the /home/abui...SRC/dtrmv.f(3) footer, and honestly she slayed. go call DTRMV, be careful with INCX, and remember: not referenced means not referenced. periodt πβ
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms