STRMV(3)
π STRMV(3) β the triangular matrix-vector glow-up π
okay bestie, so this is a page from the LAPACK library functions manual, and it lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/strmv.f π«Ά (yes that's a whole address, she's got main character energy AND a long home directory).
β¨ SYNOPSIS β¨
Functions/Subroutines:
subroutine STRMV (uplo, trans, diag, n, a, lda, x, incx)
STRMV
π¦ Function/Subroutine Documentation π¦
subroutine STRMV (character uplo, character trans, character diag, integer
n, real, dimension(lda,*) a, integer lda, real, dimension(*) x, integer
incx)
STRMV β that's her name, that's her whole thing π
Purpose:
!>
!> STRMV 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 literally she takes your triangular matrix A and multiplies it into your vector x β either a straight x := A*x or the transposed x := A**T*x β and hands you back a transformed x. no cap, that's it, that's the vibe π₯
πΈ Parameters πΈ
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.
(yes 'T' and 'C' do the exact same thing here, she's not gonna pretend otherwise π)
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 fine, she's chill like that π§)AβAisREALarray, dimension( LDA, N ).- 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. - 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, but are assumed to be unity.
- Before entry with
π real talk: those unreferenced chunks? she does NOT look at them. don't come for her.
LDAβLDAisINTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at leastmax( 1, n ). β¨XβXisREALarray, 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. π she really said "your input is my output now" and honestly? iconic.INCXβINCXisINTEGER. On entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. β (fr fr, zero will ruin her whole day)
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad behind it, we love a collaborative slay π«Ά
π₯ 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.
!>
so she's a Level 2 Blas routine, and the vector and matrix arguments are not referenced when N = 0, or M = 0 β literally nothing gets touched, she's resting π
and she was written on 22-October-1986 by Jack Dongarra (Argonne National Lab.), Jeremy Du Croz (Nag Central Office.), Sven Hammarling (Nag Central Office.) and Richard Hanson (Sandia National Labs.) β vintage but still serving, we stan a legend π
Definition at line 146 of file strmv.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. π
okay that's the whole page bestie, you're officially STRMV-pilled π¦ and yeah β LAPACK, Version 3.12.0, dated /home/abui...SRC/strmv.f(3) β that's the sign-off, mwah π 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