SRC/dtpttr.f(3)
π SRC/dtpttr.f β a whole LAPACK man page, but make it cute
okay bestie, gather round, because we're diving into SRC/dtpttr.f from the Library Functions Manual and honestly? she's lowkey iconic. it's giving "small routine, big personality." let's get into it π«Ά
β¨ SYNOPSIS β¨
π§ Functions/Subroutines
subroutine dtpttr (uplo, n, ap, a, lda, info)β DTPTTR copies a triangular matrix from the standard packed format (TP) to the standard full format (TR). that's the whole gig. she unpacks. she delivers. periodt. π
π₯ Function/Subroutine Documentation π₯
π subroutine dtpttr
subroutine dtpttr (character uplo, integer n, double precision, dimension( * ) ap, double precision, dimension( lda, * ) a, integer lda, integer info)
DTPTTR copies a triangular matrix from the standard packed format (TP) to the standard full format (TR).
πΈ Purpose:
!>
!> DTPTTR copies a triangular matrix A from standard packed format (TP)
!> to standard full format (TR).
!>
literally her entire personality: take the squished-up packed triangle, spread it out into the full triangle. no notes. π
π Parameters
UPLO
!> UPLO is CHARACTER*1
!> = 'U': A is upper triangular.
!> = 'L': A is lower triangular.
!>
so like, which half of the triangle are we even talking about? 'U' = upper girly, 'L' = lower girly. pick one, bestie, you can't have both π
N
!> N is INTEGER
!> The order of the matrix A. N >= 0.
!>
the order of matrix A. and yes, N >= 0 β zero is allowed, don't be weird about it π
AP
!> AP is DOUBLE PRECISION array, dimension ( N*(N+1)/2 ),
!> On entry, 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.
!>
okay so this is the packed one β dimension ( N*(N+1)/2 ), packed columnwise into a linear array, no cap. on entry it holds the upper-or-lower triangular matrix A. the j-th column lives at:
- if
UPLO = 'U',AP(i + (j-1)*j/2) = A(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2n-j)/2) = A(i,j)forj<=i<=n.
those index formulas? memorise them or cry about them, your call π iykyk.
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.
!>
this one's dimension ( LDA, N ) and on exit she's the triangular matrix A, all spread out. 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 is not referenced, don't even look at her. if UPLO = 'L', it's the flip: the leading N-by-N lower triangular part of A holds the lower triangular part, and the strictly upper triangular part is not referenced. mind your business on the other half, respectfully π
ββοΈ
LDA
!> LDA is INTEGER
!> The leading dimension of the array A. LDA >= max(1,N).
!>
leading dimension of the array A. LDA >= max(1,N) β that's the vibe check, and yes, max(1,N) is doing the heavy lifting so N = 0 doesn't ruin everything π¦
INFO
!> INFO is INTEGER
!> = 0: successful exit
!> < 0: if INFO = -i, the i-th argument had an illegal value
!>
the receipts π: = 0 means successful exit, slay. < 0 means if INFO = -i, the i-th argument had an illegal value β somebody typed nonsense, and this is the callout π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
β Definition
Definition at line 103 of file dtpttr.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code. yes, a robot wrote this, and she ate π
ngl bestie, the real takeaway: packed in, full out,UPLOpicks the triangle,INFOtells you if anyone fumbled. everything else is just index math and main character energy β¨
and that's the whole page β LAPACK, Version 3.12.0, documented in SRC/dtpttr.f(3). go forth and unpack your triangles, queen ππ
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms