SRC/dtrttf.f(3)

SRC/dtrttf.f πŸ’…

okay bestie, welcome to the Library Functions Manual β€” this is the SRC/dtrttf.f page, and yes it's giving serious LAPACK main-character energy. ✨


✨ NAME ✨

SRC/dtrttf.f


πŸ¦‹ 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). no cap, that's the whole vibe πŸ’–

πŸ’– 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).

🎯 Purpose

lowkey the whole point, here's the exact energy:

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

🧸 Parameters

TRANSR β€” bestie, this is the CHARACTER*1 that picks the form:

!>          TRANSR is CHARACTER*1
!>          = 'N':  ARF in Normal form is wanted;
!>          = 'T':  ARF in Transpose form is wanted.
!>

UPLO β€” another CHARACTER*1, this one says which triangle we're storing:

!>          UPLO is CHARACTER*1
!>          = 'U':  Upper triangle of A is stored;
!>          = 'L':  Lower triangle of A is stored.
!>

N β€” the order of matrix A, okay? N >= 0.

!>          N is INTEGER
!>          The order of the matrix A. N >= 0.
!>

A β€” the double precision array itself, dimension (LDA,N). Here's the exact lore:

!>          A is DOUBLE PRECISION 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.
!>

LDA β€” leading dimension of A, and it gotta be LDA >= max(1,N). πŸ’…

!>          LDA is INTEGER
!>          The leading dimension of the matrix A. LDA >= max(1,N).
!>

ARF β€” double precision array, dimension (NT), where NT=N*(N+1)/2. On exit, the triangular matrix A in RFP format. slay.

!>          ARF is DOUBLE PRECISION array, dimension (NT).
!>          NT=N*(N+1)/2. On exit, the triangular matrix A in RFP format.
!>

INFO β€” the status bestie:

!>          INFO is INTEGER
!>          = 0:  successful exit
!>          < 0:  if INFO = -i, the i-th argument had an illegal value
!>

🌟 Author

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

πŸ” Further Details

okay this is the iconic RFP format deep-dive, and I'm obsessed. Here's the exact original breakdown, all the matrices and everything β€” do not lose a single digit πŸ”₯:

!>
!>  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

the source literally says: Definition at line 193 of file dtrttf.f.


πŸ€– Author (generated)

Generated automatically by Doxygen for LAPACK from the source code.


and that's the tea 🫢 this page is LAPACK Version 3.12.0, final cut SRC/dtrttf.f(3) β€” mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from