ZTPMV(3)
π NAME π
So bestie, you opened page ztpmv.f(3) out of the LAPACK Library Functions Manual, and the star of the show is this file right here:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/ztpmv.f
That's it, that's the name. It's giving "my whole identity is a build path" and honestly? Iconic. π
β¨ SYNOPSIS β¨
Functions/Subroutines
Okay so the whole vibe:
subroutine ZTPMV (uplo, trans, diag, n, ap, x, incx)
ZTPMV
π¦ Function/Subroutine Documentation π¦
subroutine ZTPMV
Here's the full signature, no cap, character for character:
subroutine ZTPMV (character uplo, character trans, character diag, integer
n, complex*16, dimension(*) ap, complex*16, dimension(*) x, integer
incx)
ZTPMV πΈ
β Purpose β
Okay so literally, ZTPMV performs one of these matrix-vector operations:
x := A*x, or x := A**T*x, or x := A**H*x,
where x is an n element vector and A is an n by n unit, or non-unit, upper or lower triangular matrix, supplied in packed form. Packed form! She's compact, she's efficient, she's not wasting a single element on those zeros. Obsessed. π
π Parameters π
UPLOβ it's aCHARACTER*1. On entry,UPLOspecifies whether the matrix is an upper or lower triangular matrix, like this:UPLO = 'U' or 'u'βAis an upper triangular matrix.UPLO = 'L' or 'l'βAis a lower triangular matrix.
TRANSβ also aCHARACTER*1. On entry,TRANSspecifies the operation to be performed, and your choices are:TRANS = 'N' or 'n'βx := A*x.TRANS = 'T' or 't'βx := A**T*x.TRANS = 'C' or 'c'βx := A**H*x.
DIAGβ yeah,CHARACTER*1again. 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β anINTEGER. On entry,Nspecifies the order of the matrixA.Nmust be at least zero. Zero is allowed, she's chill like that. π§APβ aCOMPLEX*16array, dimension at least( ( n*( n + 1 ) )/2 ). This is the packed triangle, and the packing order is very much the main character here:- Before entry with
UPLO = 'U' or 'u', the arrayAPmust contain the upper triangular matrix packed sequentially, column by column, so thatAP( 1 )containsa( 1, 1 ),AP( 2 )andAP( 3 )containa( 1, 2 )anda( 2, 2 )respectively, and so on. - Before entry with
UPLO = 'L' or 'l', the arrayAPmust contain the lower triangular matrix packed sequentially, column by column, so thatAP( 1 )containsa( 1, 1 ),AP( 2 )andAP( 3 )containa( 2, 1 )anda( 3, 1 )respectively, and so on. - Heads up: when
DIAG = 'U' or 'u', the diagonal elements ofAare not referenced, but are assumed to be unity. So don't bother storing them, bestie, nobody's checking. π
- Before entry with
Xβ aCOMPLEX*16array, 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 goes in as one thing and comes out as another, it's giving transformation arc. π¦INCXβ anINTEGER. On entry,INCXspecifies the increment for the elements ofX. And listen:INCXmust not be zero. Do not do it. π«
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
The whole squad. Respect. π«Ά
π₯ Further Details: π₯
- Level 2 Blas routine.
- The vector and matrix arguments are not referenced when
N = 0, orM = 0β yep, that's literally what it says, I'm just reading the page to you. π -- 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 and still serving. The longevity. The legacy. Periodt. β
Definition at line 141 of file ztpmv.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (Yes, a robot wrote this one. She's doing her best. π)
And that's the whole page, bestie β cute sign-off time: this was LAPACK Version 3.12.0, page /home/abui...SRC/ztpmv.f(3). Go forth and pack your triangles correctly. πβ¨π
π¦ 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