DTRTTP(3)
π 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 INTEGERThe 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 leadingN-by-N upper triangular part of A contains the uppertriangular part of the matrix A, and the strictly lowertriangular part of A is not referenced. If UPLO = 'L', theleading N-by-N lower triangular part of A contains the lowertriangular part of the matrix A, and the strictly uppertriangular 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 INTEGERThe 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, packedcolumnwise in a linear array. The j-th column of A is storedin 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: ifINFO = -i, thei-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,UPLOpicks the triangle,LDA >= max(1,N), and you checkINFOafter. 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
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms