STPTTF(3)
π NAME π
ok so real talk, this page is from the Library Functions Manual, and the "name" is literally just this absolute file path, no cap:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/stpttf.f
like that's it, that's the name, she's built different π«Ά
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine STPTTF (transr, uplo, n, ap, arf, info)
STPTTF copies a triangular matrix from the standard packed format (TP) to the rectangular full packed format (TF). that's the whole gig bestie, one job, and she does it π
π¦ Function/Subroutine Documentation π¦
subroutine STPTTF (character transr, character uplo, integer n, real,
dimension( 0: * ) ap, real, dimension( 0: * ) arf, integer info)
STPTTF copies a triangular matrix from the standard packed format (TP) to the rectangular full packed format (TF). lowkey iconic of her ngl πΈ
π Purpose π
!>
!> STPTTF copies a triangular matrix A from standard packed format (TP)
!> to rectangular full packed format (TF).
!>
so u hand her a triangular matrix A all squished into standard packed format (TP), and she hands it back repacked into rectangular full packed format (TF). glow-up in array form β¨
π Parameters π
TRANSR
!> TRANSR is CHARACTER*1
!> = 'N': ARF in Normal format is wanted;
!> = 'T': ARF in Conjugate-transpose format is wanted.
!>
UPLO
!> UPLO is CHARACTER*1
!> = 'U': A is upper triangular;
!> = 'L': A is lower triangular.
!>
N
!> N is INTEGER
!> The order of the matrix A. N >= 0.
!>
AP
!> AP is REAL array, dimension ( N*(N+1)/2 ),
!> On entry, the upper or lower triangular matrix A, packed
!> columnwise in a linear array. The j-th column of A is stored
!> in the array AP as follows:
!> if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
!> if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n.
!>
this is your input, bestie. on entry she's holding the upper or lower triangular matrix A, packed columnwise into one linear array. the indexing formulas above are exactly how the j-th column of A gets stored, don't @ me π
ARF
!> ARF is REAL array, dimension ( N*(N+1)/2 ),
!> On exit, the upper or lower triangular matrix A stored in
!> RFP format. For a further discussion see Notes below.
!>
this is the output, the after photo. on exit it's the same upper or lower triangular matrix A but stored in RFP format. and yes, for a further discussion see Notes below π
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
!>
0 means slay, we move. anything negative means one of your arguments was out of pocket and she's telling you which one π₯
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole friend group showed up for this one π«Ά
π₯ Further Details π₯
ok so this is the part where she sits you down and draws diagrams on a napkin. pay attention bestie, the vibes are about to get structural.
even N, TRANSR = 'N'
!>
!> We first consider Rectangular Full Packed (RFP) Format when N is
!> even. We give an example where N = 6.
!>
!> AP is Upper AP is Lower
!>
!> 00 01 02 03 04 05 00
!> 11 12 13 14 15 10 11
!> 22 23 24 25 20 21 22
!> 33 34 35 30 31 32 33
!> 44 45 40 41 42 43 44
!> 55 50 51 52 53 54 55
!>
!>
!> Let TRANSR = 'N'. RFP holds AP as follows:
!> For UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last
!> three columns of AP upper. The lower triangle A(4:6,0:2) consists of
!> the transpose of the first three columns of AP upper.
!> For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first
!> three columns of AP lower. The upper triangle A(0:2,0:2) consists of
!> the transpose of the last three columns of AP lower.
!> This covers the case N even and TRANSR = 'N'.
!>
!> RFP A RFP A
!>
!> 03 04 05 33 43 53
!> 13 14 15 00 44 54
!> 23 24 25 10 11 55
!> 33 34 35 20 21 22
!> 00 44 45 30 31 32
!> 01 11 55 40 41 42
!> 02 12 22 50 51 52
!>
even N, TRANSR = 'T'
!> Now let TRANSR = 'T'. RFP A in both UPLO cases is just the
!> transpose of RFP A above. One therefore gets:
!>
!>
!> RFP A RFP A
!>
!> 03 13 23 33 00 01 02 33 00 10 20 30 40 50
!> 04 14 24 34 44 11 12 43 44 11 21 31 41 51
!> 05 15 25 35 45 55 22 53 54 55 22 32 42 52
!>
transpose. that's it. that's the tweet. π
odd N, TRANSR = 'N'
!>
!> We then consider Rectangular Full Packed (RFP) Format when N is
!> odd. We give an example where N = 5.
!>
!> AP is Upper AP is Lower
!>
!> 00 01 02 03 04 00
!> 11 12 13 14 10 11
!> 22 23 24 20 21 22
!> 33 34 30 31 32 33
!> 44 40 41 42 43 44
!>
!>
!> Let TRANSR = 'N'. RFP holds AP as follows:
!> For UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last
!> three columns of AP upper. The lower triangle A(3:4,0:1) consists of
!> the transpose of the first two columns of AP upper.
!> For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first
!> three columns of AP lower. The upper triangle A(0:1,1:2) consists of
!> the transpose of the last two columns of AP lower.
!> This covers the case N odd and TRANSR = 'N'.
!>
!> RFP A RFP A
!>
!> 02 03 04 00 33 43
!> 12 13 14 10 11 44
!> 22 23 24 20 21 22
!> 00 33 34 30 31 32
!> 01 11 44 40 41 42
!>
odd N, TRANSR = 'T'
!> Now let TRANSR = 'T'. RFP A in both UPLO cases is just the
!> transpose of RFP A above. One therefore gets:
!>
!> RFP A RFP A
!>
!> 02 12 22 00 01 00 10 20 30 40 50
!> 03 13 23 33 11 33 11 21 31 41 51
!> 04 14 24 34 44 43 44 22 32 42 52
!>
again: transpose of the above, both UPLO cases, every time. she's consistent and we love her for it β
β Author β
(yes bestie, there's a second author section, don't ask)
Generated automatically by Doxygen for LAPACK from the source code.
ngl the whole page is machine-generated, so if the diagrams look like a spreadsheet had a baby, that's why π
and that's the page!! LAPACK, Version 3.12.0, living at /home/abui...RC/stpttf.f(3) β definition at line 185 of file stpttf.f, for the record π mwah, go pack some triangles π
π¦ 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