SRC/dtrttp.f(3)

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

okay bestie, so this page is from the LAPACK manual (Version 3.12.0), and it's literally the glow-up guide for dtrttp β€” the subroutine that moves your triangular matrix from full format (TR) to packed format (TP). no cap, that's the whole vibe. πŸ¦‹


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines

  • subroutine dtrttp (uplo, n, a, lda, ap, info) β€” DTRTTP copies a triangular matrix from the standard full format (TR) to the standard packed format (TP). slay.

🌸 Function/Subroutine Documentation 🌸

subroutine dtrttp (character uplo, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( * ) ap, integer info)

DTRTTP copies a triangular matrix from the standard full format (TR) to the standard packed format (TP). that's it, that's the function. iconic behavior honestly πŸ’…

πŸ‘‘ Purpose:

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

πŸ“ Parameters

<pink>UPLO</pink>

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

so UPLO is a CHARACTER*1 and it's basically the personality selector β€” 'U' means A is upper triangular, 'L' means A is lower triangular. pick your fighter πŸ’–

<pink>N</pink>

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

N is an INTEGER β€” the order of the matrices AP and A. and bestie, N >= 0, that's the rule, no exceptions 🫢

<pink>A</pink>

!>          A is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (LDA,N). on exit it holds the triangular matrix A. so like:

  • 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 β€” it's giving "not my business, not my problem" πŸ™ˆ
  • 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 β€” same energy, opposite corner πŸ’€

<pink>LDA</pink>

!>          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. requirement: LDA >= max(1,N). respect the boundary or else 😭

<pink>AP</pink>

!>          AP is DOUBLE PRECISION 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 DOUBLE PRECISION array, dimension (N*(N+1)/2). on exit it's the upper or lower triangular matrix A, packed columnwise in a linear array β€” that's the whole point of the function, it's compacting the vibes ✨

the j-th column of A is stored in the array AP like this:

  • 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 bestie, they are NOT decorative πŸ”₯

<pink>INFO</pink>

!>          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 at the end:

  • = 0: successful exit πŸŽ‰
  • < 0: if INFO = -i, the i-th argument had an illegal value β€” someone did NOT read the parameter list 🚨

⭐ Author ⭐

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

🧚 Definition at line 103 of file dtrttp.f. 🧚


🌈 Author (the meta one) 🌈

Generated automatically by Doxygen for LAPACK from the source code. not a human, just a very efficient little robot doing its thing πŸ€–πŸ’œ


so yeah, that's the whole page. every flag, every dimension, every index formula, all present and accounted for. you're welcome bestie 🫢

LAPACK β€” Version 3.12.0 β€” SRC/dtrttp.f(3) πŸ’…πŸŽ€πŸŒΈ

πŸ“¦ where this page comes from