STRTTF(3)

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

πŸ¦‹ strttf.f(3) β€” Library Functions Manual πŸ¦‹

Okay bestie, welcome to the strttf.f(3) glow-up. It’s LAPACK, it’s a subroutine page, and it’s giving β€œtriangular matrix goes from full format to rectangular full packed format.” Stay with me. πŸ’…

πŸ’– NAME πŸ’–

strttf.f β€” this page is for the file at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/strttf.f. That’s the whole name section, and yes it’s just a path being its main-character self. 🫢

✨ SYNOPSIS ✨

Functions/Subroutines

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

STRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF). That’s the whole pitch. Slay. πŸ”₯

πŸ“š Function/Subroutine Documentation πŸ“š

subroutine STRTTF

Full signature, exactly as it appears, because we do not mess with types:

subroutine STRTTF (character transr, character uplo, integer n, real, dimension( 0: lda-1, 0: * ) a, integer lda, real, dimension( 0: * ) arf, integer info)

STRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF). Yes bestie, it’s a converter. It takes the triangle you already have and packs it into RFP format. ✨

🎯 Purpose

Okay so the purpose is literally: STRTTF copies a triangular matrix A from standard full format (TR) to rectangular full packed format (TF) . That’s it. That’s the job. No cap. πŸ’–

🌸 Parameters 🌸

  • TRANSR β€” CHARACTER*1. = 'N': ARF in Normal form is wanted; = 'T': ARF in Transpose form is wanted. So you’re picking whether the packed ARF output is Normal or Transpose form. Choose your fighter. πŸŽ€
  • UPLO β€” CHARACTER*1. = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. Pick which triangle is the main character. πŸ’…
  • N β€” INTEGER. The order of the matrix A. N >= 0. That’s the rule, bestie. πŸ¦‹
  • A β€” REAL array, dimension (LDA,N). On entry, the triangular matrix A. 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. Basically only the chosen triangle is read; the other side is not referenced. πŸ™ˆ
  • LDA β€” INTEGER. The leading dimension of the matrix A. LDA >= max(1,N). Respect the leading dimension, bestie. 🫢
  • ARF β€” REAL array, dimension (NT). NT=N*(N+1)/2. On exit, the triangular matrix A in RFP format. That’s the packed output, and it’s giving rectangular full packed realness. 🌈
  • INFO β€” INTEGER. = 0: successful exit; < 0: if INFO = -i, the i-th argument had an illegal value. So if INFO is negative, check the argument at that position. 🚨

πŸ‘‘ Author

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

🧚 Further Details 🧚

This is the part where RFP format gets explained with diagrams. It’s long, it’s iconic, and the matrix layouts are kept exactly as-is. The !> markers are part of the original comment block, so I left them exactly. πŸ’€

First up: Rectangular Full Packed (RFP) Format when N is even. 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

Then we consider Rectangular Full Packed (RFP) Format when N is odd. 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 strttf.f. πŸ“Œ

πŸ’œ Author

Generated automatically by Doxygen for LAPACK from the source code.


Okay bestie, that’s the whole page. Footer vibe check: this is strttf.f(3) from LAPACK Version 3.12.0, with the source path /home/abui...RC/strttf.f(3). No date listed in that footer, just version and path being mysterious. Mwah. πŸ’‹

πŸ“¦ where this page comes from