DTRTTP(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’œ DTRTTP(3) β€” like, the LAPACK girlies' guide πŸ’œ

okay so first things first, bestie: this is a page from LAPACK (the Library Functions Manual, yes that one), and today's main character is DTRTTP. she's a Fortran file living her best life at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dtrttp.f. iconic address, no cap. πŸŽ€


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dtrttp.f

that's literally the whole name section. she said "my name is my file path" and honestly? respect. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

  • subroutine DTRTTP (uplo, n, a, lda, ap, info) β€” the way this routine just copies a triangular matrix from the standard full format (TR) to the standard packed format (TP). that's it, that's the whole personality, and she ate. πŸ”₯

🌸 Function/Subroutine Documentation 🌸

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

so yeah, DTRTTP copies a triangular matrix from the standard full format (TR) to the standard packed format (TP). she's a format-converter girlie. a glow-up technician, if you will. ✨


πŸŽ€ Purpose πŸŽ€

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

that's the whole mission statement. full ➑️ packed. triangular stays triangular. the vibes are preserved. πŸ’–


πŸ‘‘ Parameters πŸ‘‘

UPLO

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

which triangle of the matrix we're talking about, bestie. 'U' means upper, 'L' means lower. pick your fighter. ⭐

N

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

the order of the matrices AP and A. and listen β€” N >= 0. non-negative or don't bother. πŸ™ˆ

A

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.

key word here: on exit. so A is a DOUBLE PRECISION array with dimension (LDA,N), and after the routine does her thing, you've got the triangular matrix A sitting there. 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 β€” she simply does not look at it, don't @ her. and if UPLO = 'L', it flips: 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. πŸ’…

LDA

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

the leading dimension of the array A, and it's gotta satisfy LDA >= max(1,N). lowkey non-negotiable. 🫢

AP

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.

this is the ✨packed✨ one, the whole point of the routine. AP is a DOUBLE PRECISION array, dimension (N*(N+1)/2), and on exit it holds 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.

memorize the index math or perish, iykyk. 🧚

INFO

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

the vibe check at the end. INFO is an INTEGER:

  • = 0: successful exit, we slayed.
  • < 0: if INFO = -i, the i-th argument had an illegal value. so if you passed something cursed, she WILL tell you exactly which argument it was. 😭

🌈 Author 🌈

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

four whole institutions collaborated on this. a group project that actually worked. πŸ”₯

Definition at line 103 of file dtrttp.f.

that's where she lives in the source. line 103. πŸ“


πŸ’€ Author πŸ’€

Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this page β€” the machine did it, and honestly the machine understood the assignment.


ngl bestie, the whole takeaway is: A (full, (LDA,N)) goes in, AP (packed, (N*(N+1)/2)) comes out, UPLO picks the triangle, LDA >= max(1,N), and you check INFO after. that's the routine. periodt. πŸ’–

✨ this page brought to you by LAPACK, Version 3.12.0, dated /home/abui...RC/dtrttp.f(3) β€” go drink some water and check your INFO, bestie πŸ«ΆπŸŽ€πŸ’œ

πŸ“¦ where this page comes from