SRC/strttp.f(3)

✨ SRC/strttp.f ✨

Okay bestie, gather round β€” this is a page from the Library Functions Manual, and it's literally the glow-up story of a triangular matrix πŸ’… (SRC/strttp.f, if you're keeping receipts).


🌸 NAME 🌸

SRC/strttp.f β€” no cap, that's the whole name, she's mysterious like that πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

  • subroutine strttp (uplo, n, a, lda, ap, info) β€” STRTTP copies a triangular matrix from the standard full format (TR) to the standard packed format (TP). it's giving "repackaging my whole vibe" ✨

πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine strttp (character uplo, integer n, real, dimension( lda, * ) a,
    integer lda, real, dimension( * ) ap, integer info)

STRTTP copies a triangular matrix from the standard full format (TR) to the standard packed format (TP). that's the whole assignment, and she ate πŸ”₯

🎯 Purpose:

!>
!> STRTTP copies a triangular matrix A from full format (TR) to standard
!> packed format (TP).
!>

literally just: take A, unpack her from the big full grid, tuck her into the cute little packed array. no thoughts, just relocation πŸ§³πŸ’–

πŸ“ Parameters

UPLO

!>          UPLO is CHARACTER*1
!>          = 'U':  A is upper triangular.
!>          = 'L':  A is lower triangular.
!>

bestie, pick a side 😭 β€” 'U' means A is upper triangular, 'L' means A is lower triangular. that's it, that's the whole choice.

N

!>          N is INTEGER
!>          The order of the matrices AP and A.  N >= 0.
!>

N is the order of the matrices AP and A. and it's an INTEGER, and N >= 0 β€” so no negative nonsense, we don't do that here πŸ™ˆ

A

!>          A is REAL array, dimension (LDA,N)
!>          On exit, the triangular matrix A.  If UPLO = 'U', the leading
!>          N-by-N upper triangular part of A contains the upper
!>          triangular part of the matrix A, and the strictly lower
!>          triangular part of A is not referenced.  If UPLO = 'L', the
!>          leading N-by-N lower triangular part of A contains the lower
!>          triangular part of the matrix A, and the strictly upper
!>          triangular part of A is not referenced.
!>

A is a REAL array, dimension (LDA,N). on exit she's the triangular matrix β€” okay so:

  • if UPLO = 'U': the leading N-by-N upper triangular part of A holds the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced (she's off duty, don't @ her πŸ’€)
  • if UPLO = 'L': the leading N-by-N lower triangular part of A holds the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced (same deal, different half 🫢)

LDA

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

LDA is an INTEGER, the leading dimension of the array A, and it must satisfy LDA >= max(1,N). respect the constraint or suffer 😀

AP

!>          AP is REAL array, dimension (N*(N+1)/2)
!>          On exit, 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.
!>

AP is a REAL array, dimension (N*(N+1)/2) ✨ on exit she's the upper or lower triangular matrix A, packed columnwise in a linear array β€” the way the j-th column of A gets stored in AP is:

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.

copy those index formulas exactly, they are not decorative, they are the whole personality πŸ”₯

INFO

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

INFO is an INTEGER and it's the vibe check of the whole operation:

  • = 0: successful exit, slay πŸŽ‰
  • < 0: if INFO = -i, the i-th argument had an illegal value β€” somebody lied on their application πŸ’€

🌈 Author

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

(the whole group project carried to a W 🫢)

Definition at line 103 of file strttp.f.

πŸ“œ Author

Generated automatically by Doxygen for LAPACK from the source code. she didn't write herself, but she's still iconic πŸ’œ


sign-off time bestie 🌟

this page comes from LAPACK, Version 3.12.0, and it's the SRC/strttp.f(3) page β€” go pack those triangles, ily, bye πŸŽ€πŸ’–πŸ¦‹

πŸ“¦ where this page comes from