SRC/stpttf.f(3)

πŸ’– SRC/stpttf.f πŸ’–

Okay bestie, welcome to SRC/stpttf.f(3) from the Library Functions Manual β€” yes, the file is literally the name, and we are obsessed with the confidence. This page is all about the stpttf subroutine and its TP-to-TF packed-format moment. πŸ’…


✨ NAME ✨

SRC/stpttf.f β€” the manual page for stpttf, aka the subroutine that copies a triangular matrix from standard packed format (TP) to rectangular full packed format (TF). No cap, that's the whole vibe.


πŸ¦‹ 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). Periodt.


πŸŽ€ 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). Same iconic assignment, now with the full signature. πŸ’–

🌸 Purpose: 🌸

The purpose is literally the main-character job: STPTTF copies a triangular matrix A from standard packed format (TP) to rectangular full packed format (TF). That's it. That's the lore. ✨

πŸŽ€ 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.
  • 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.
  • INFO β€” INFO is INTEGER
    • = 0: successful exit
    • < 0: if INFO = -i, the i-th argument had an illegal value

πŸ‘‘ Author πŸ‘‘

The academic avengers squad behind this page:

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

πŸ”₯ Further Details: πŸ”₯

Okay, this is where the packed-format lore gets real. First we consider Rectangular Full Packed (RFP) Format when N is even. The source gives 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. The source gives 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 185 of file stpttf.f.

🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code.


That's the whole page, bestie β€” LAPACK Version 3.12.0, SRC/stpttf.f(3), and the TP-to-TF pipeline is officially understood. Slay. πŸ’…βœ¨πŸŒˆ

πŸ“¦ where this page comes from