STRTTF(3)
π¦ 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 packedARFoutput 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βREALarray, dimension(LDA,N). On entry, the triangular matrix A. IfUPLO = '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. IfUPLO = '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βREALarray, 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: ifINFO = -i, the i-th argument had an illegal value. So ifINFOis 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
- 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