DTRTTF(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… DTRTTF(3) β€” the LAPACK manual page, but make it make sense

okay so real talk: this is a page out of the LAPACK library manual, bestie. The whole thing technically lives at a path so long it needs its own zip code, and yes we're keeping it in the NAME section because that's just how these pages roll. Buckle up πŸŽ€


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dtrttf.f

like, that's the whole name. it's giving "my file path is my personality." no cap. 🫢


🌸 SYNOPSIS 🌸

Functions/Subroutines

subroutine DTRTTF (transr, uplo, n, a, lda, arf, info)

DTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF). that's the whole vibe. TR ➑️ TF. glow-up complete. ✨


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine DTRTTF (character transr, character uplo, integer n, double
    precision, dimension( 0: lda-1, 0: * ) a, integer lda, double precision,
    dimension( 0: * ) arf, integer info)

DTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF). yes, it's a repackaging situation. the matrix is the same girl, she's just wearing a different outfit now πŸ’…


πŸ’– Purpose πŸ’–

!>
!> DTRTTF copies a triangular matrix A from standard full format (TR)
!> to rectangular full packed format (TF) .
!>

πŸŽ€ Parameters πŸŽ€

  • TRANSR β€” TRANSR is CHARACTER*1. the format check, iykyk:
    • = 'N': ARF in Normal form is wanted;
    • = 'T': ARF in Transpose form is wanted.
  • UPLO β€” UPLO is CHARACTER*1, aka which triangle are we even talking about:
    • = 'U': Upper triangle of A is stored;
    • = 'L': Lower triangle of A is stored.
  • N β€” N is INTEGER. the order of the matrix A. N >= 0. zero is literally valid, no drama. πŸ”₯
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). On entry, the triangular matrix A. here's the tea:
    • If UPLO = 'U', the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced.
    • If UPLO = 'L', the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced.

so like, half of it is main character and the other half is literally not even invited 🫢

  • LDA β€” LDA is INTEGER. the leading dimension of the matrix A. LDA >= max(1,N). respect the minimum, bestie. πŸ™ˆ
  • ARF β€” ARF is DOUBLE PRECISION array, dimension (NT). NT=N*(N+1)/2. On exit, the triangular matrix A in RFP format. this is the glow-up destination ✨
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit β€” slay, we ate πŸ’…
    • < 0: if INFO = -i, the i-th argument had an illegal value β€” bestie, check your inputs 😭

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

the whole squad really showed up for this one 🫢


🌈 Further Details: 🌈

heads up, the rest of this is straight up ASCII art of triangular matrices. it's iconic, it's giving graph paper realness, and honestly it's the best part. read it slow. πŸ’œ
!>
!>  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
!>
!>  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
!>
!>
!>  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
!>
!>  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
!>

Definition at line 193 of file dtrttf.f. β€” yes, line 193, we counted, we're obsessed πŸ€“


⭐ Author ⭐

Generated automatically by Doxygen for LAPACK from the source code. (a bot wrote this section and honestly? it ate. πŸ€–πŸ’…)


okay and that's the whole page, bestie 🫢 one last thing for the sign-off: this is LAPACK, Version 3.12.0, and the whole thing is documented out of that dtrttf.f(3) file path up top that we are absolutely not retyping. go repack some triangles. periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from