trttf(3)

✨ NAME ✨

trttf β€” trttf: triangular matrix, full (tr) to RFP (tf). This is the trttf(3) page from the Library Functions Manual, bestie. 🫢


πŸ› οΈ SYNOPSIS πŸ› οΈ

🧚 Functions 🧚

subroutine ctrttf (transr, uplo, n, a, lda, arf, info)
subroutine dtrttf (transr, uplo, n, a, lda, arf, info)
subroutine strttf (transr, uplo, n, a, lda, arf, info)
subroutine ztrttf (transr, uplo, n, a, lda, arf, info)
  • ctrttf β€” CTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF).
  • dtrttf β€” DTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF).
  • strttf β€” STRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF).
  • ztrttf β€” ZTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF).

πŸ“š Detailed Description πŸ“š

This bit is just a section heading in the source, no extra paragraphs hiding under it. The actual glow-up happens in Function Documentation. ✨

πŸ” Function Documentation πŸ”

πŸ’… subroutine ctrttf πŸ’…

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

CTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF).

🎯 Purpose 🎯

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

🧾 Parameters 🧾

  • TRANSR β€” TRANSR is CHARACTER*1:
    • = 'N': ARF in Normal mode is wanted;
    • = 'C': ARF in Conjugate Transpose mode 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.
  • A β€” A is COMPLEX 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 β€” LDA is INTEGER. The leading dimension of the matrix A. LDA >= max(1,N).
  • ARF β€” ARF is COMPLEX 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 ✍️

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

🌸 Further Details 🌸

Okay bestie, here is the whole Further Details block, exact and with the !> doc-comment markers still on. No cap, this is the source's matrix glow-up. 🫢

!>
!>  We first consider Standard Packed 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
!>  conjugate-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
!>  conjugate-transpose of the last three columns of AP lower.
!>  To denote conjugate we place -- above the element. 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 = 'C'. RFP A in both UPLO cases is just the conjugate-
!>  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 next  consider Standard Packed 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
!>  conjugate-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
!>  conjugate-transpose of the last two   columns of AP lower.
!>  To denote conjugate we place -- above the element. 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 = 'C'. RFP A in both UPLO cases is just the conjugate-
!>  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 215 of file ctrttf.f.


πŸ’… subroutine dtrttf πŸ’…

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 🎯

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

🧾 Parameters 🧾

  • TRANSR β€” TRANSR is CHARACTER*1:
    • = 'N': ARF in Normal form is wanted;
    • = 'T': ARF in Transpose form is wanted.
  • UPLO β€” UPLO is CHARACTER*1:
    • = '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.
  • A β€” 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 β€” LDA is INTEGER. The leading dimension of the matrix A. LDA >= max(1,N).
  • ARF β€” ARF is DOUBLE PRECISION array, dimension (NT). NT=N*(N+1)/2. On exit, the triangular matrix A in RFP format.
  • INFO β€” 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 🌸

No extra details are listed under this heading in this part β€” it's just the heading in the source. πŸ’œ

okay so we're still deep in the Further Details era of this page, and it's about to hit you with the RFP format diagrams. stay with me bestie, they're actually kind of iconic once you clock the pattern πŸ’…βœ¨

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

that's the whole even-and-odd RFP story for dtrttf, no cap 🫢

Definition at line 193 of file dtrttf.f.


✨ subroutine strttf ✨

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). iconic behaviour honestly πŸ’…

🎯 Purpose 🎯

okay so STRTTF copies triangular matrix A from standard full format (TR) to rectangular full packed format (TF). that's the whole mission bestie 🫢

🌸 Parameters 🌸

  • TRANSR β€” TRANSR is CHARACTER*1. = 'N': ARF in Normal form is wanted; = 'T': ARF in Transpose form is wanted. ✨
  • UPLO β€” UPLO is CHARACTER*1. = '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. πŸŽ€
  • A β€” A is 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. πŸ”₯
  • LDA β€” LDA is INTEGER. The leading dimension of the matrix A. LDA >= max(1,N). πŸ¦‹
  • ARF β€” ARF is REAL array, dimension (NT). NT=N*(N+1)/2. On exit, the triangular matrix A in RFP format. 🌈
  • INFO β€” 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 πŸ’–

           !>
           !>  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 strttf.f.


πŸ’œ subroutine ztrttf πŸ’œ

subroutine ztrttf (character transr, character uplo, integer n, complex*16,
    dimension( 0: lda-1, 0: * ) a, integer lda, complex*16, dimension( 0: *
    ) arf, integer info)

ZTRTTF copies a triangular matrix from the standard full format (TR) to the rectangular full packed format (TF). yes bestie, complex edition πŸ”₯

🎯 Purpose 🎯

ZTRTTF copies a triangular matrix A from standard full format (TR) to rectangular full packed format (TF) . that's it, that's the vibe 🫢

🌸 Parameters 🌸

  • TRANSR β€” TRANSR is CHARACTER*1. = 'N': ARF in Normal mode is wanted; = 'C': ARF in Conjugate Transpose mode 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. 🌸
  • A β€” okay so this one's description is literally cut off in this part, bestie β€” it continues in the next part. 🫢

A

Okay so A is COMPLEX*16 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. No cap, that's the whole vibe.

LDA

LDA is INTEGER. It's the leading dimension of the matrix A, and the rule is LDA >= max(1,N) β€” periodt. ✨

ARF

ARF is COMPLEX*16 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 and it's giving status-report energy:

  • = 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:

We first consider Standard Packed 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 conjugate-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 conjugate-transpose of the last three columns of AP lower. To denote conjugate we place -- above the element. 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 = 'C'. RFP A in both UPLO cases is just the conjugate-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 next consider Standard Packed 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 conjugate-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 conjugate-transpose of the last two columns of AP lower. To denote conjugate we place -- above the element. 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 = 'C'. RFP A in both UPLO cases is just the conjugate-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 215 of file ztrttf.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.


Mwah πŸ’– the footer's source/version/date tea is LAPACK, Version 3.12.0, and trttf(3) β€” that's the whole stamp bestie. Byeeee πŸ‘‘βœ¨
πŸ“¦ where this page comes from