BLAS/SRC/strmv.f(3)
π strmv β the BLAS girlies' guide to triangular matrix-vector vibes π
okay so this is a page from BLAS/SRC/strmv.f in the LAPACK manual and bestie, we are about to become so acquainted with triangular matrices. no cap. π¦
β¨ NAME β¨
BLAS/SRC/strmv.f β it's giving "single precision triangular matrix-vector multiply" and honestly? iconic. π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine strmv (uplo, trans, diag, n, a, lda, x, incx)β the whole entire vibe, right here.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 π
π Purpose π
okay so listen. STRMV performs one of the matrix-vector operations, and there are literally just two of them, pick your fighter:
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. she does one thing and she does it well, periodt. π
π Parameters π
UPLOβ CHARACTER*1, bestie. 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β CHARACTER*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 bestie, same as'T'for this real-valued routine, no cap) π
DIAGβ CHARACTER*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β INTEGER. On entry,Nspecifies the order of the matrixA.Nmust be at least zero. (zero is allowed, she's chill like that π)Aβ REAL array, dimension ( LDA, N ). Before entry withUPLO = 'U' or 'u', the leadingnbynupper triangular part of the arrayAmust contain the upper triangular matrix and the strictly lower triangular part ofAis not referenced. Before entry withUPLO = 'L' or 'l', the leadingnbynlower triangular part of the arrayAmust contain the lower triangular matrix and the strictly upper triangular part ofAis not referenced. Note that whenDIAG = 'U' or 'u', the diagonal elements ofAare not referenced either, but are assumed to be unity. π so don't go setting them and expecting anything, she's not looking.LDAβ INTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at leastmax( 1, n ). πΈXβ REAL array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented arrayXmust contain thenelement vectorx. On exit,Xis overwritten with the transformed vectorx. she took your oldxand gave you a glow-up, you're welcome πINCXβ INTEGER. On entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. fr fr, don't do it. π«
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
(the academic royalty that brought you this routine, we stan π«Ά)
π₯ Further Details: π₯
- Level 2 Blas routine.
- The vector and matrix arguments are not referenced when
N = 0, orM = 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.
the OGs wrote this in 1986 and it's still eating, we love to see it β¨
Definition at line 146 of file strmv.f.
π« Author π«
Generated automatically by Doxygen for LAPACK from the source code. (yes bestie, even the docs have a ghostwriter π»)
and that's the whole page, no crumbs left. π
Version 3.12.0, dated Tue Nov 28 2023 12:08:41, straight outta BLAS/SRC/strmv.f(3) β mwah, bye bestie, go multiply something triangular πβ¨π¦
π¦ where this page comes from
- centos-stream 10: blas 3.12.0-7.el10 Β· BSD-3-Clause-Open-MPI
- fedora 43: blas 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 43: blas 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 44: blas 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- fedora 44: blas 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms