SRC/ctpttr.f(3)

πŸ¦‹ SRC/ctpttr.f

okay bestie, welcome to the ctpttr page πŸ’… this one lives in the Library Functions Manual, and honestly? it's a little icon. it does exactly one thing and it does it flawlessly.


✨ NAME ✨

SRC/ctpttr.f β€” no cap, that's the whole name. it's a Fortran source file in the LAPACK fam and it's here to serve.


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine ctpttr (uplo, n, ap, a, lda, info) β€” CTPTTR copies a triangular matrix from the standard packed format (TP) to the standard full format (TR). unpacking queen behavior fr fr πŸ‘‘

πŸ’– Function/Subroutine Documentation πŸ’–

subroutine ctpttr (character uplo, integer n, complex, dimension( * ) ap, complex, dimension( lda, * ) a, integer lda, integer info)

CTPTTR copies a triangular matrix from the standard packed format (TP) to the standard full format (TR).

like, that's it. that's the whole gig. and she ate.

πŸŽ€ Purpose:

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

literally what it says on the tin, bestie. packed goes in, full comes out, the vibes are immaculate.


πŸ”₯ Parameters

UPLO

!>          UPLO is CHARACTER*1
!>          = 'U':  A is upper triangular.
!>          = 'L':  A is lower triangular.
!>
  • UPLO is CHARACTER*1 β€” yes, a single character, she's lowkey minimal.
  • = 'U': A is upper triangular.
  • = 'L': A is lower triangular.

pick your fighter, babes. upper or lower, no in-between.

N

!>          N is INTEGER
!>          The order of the matrix A. N >= 0.
!>
  • N is INTEGER.
  • it's the order of the matrix A, and the rule is N >= 0. no negatives, we don't do that here πŸ™ˆ

AP

!>          AP is COMPLEX 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.
!>
  • AP is a COMPLEX array with dimension ( N*(N+1)/2 ).
  • on entry: the upper or lower triangular matrix A, packed columnwise in a linear array. it's giving "suitcase packed to the absolute brim" 🧳
  • the j-th column of A is stored in 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.

the index math is right there, copy it exactly, don't freestyle it πŸ’€

A

!>          A is COMPLEX 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 COMPLEX array with dimension ( LDA, N ).
  • on exit: the triangular matrix A. main character energy, it's the output ✨
  • 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. so don't go looking there, nothing to see πŸ™ˆ
  • 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 deal, opposite corner.

LDA

!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!>
  • LDA is INTEGER.
  • it's the leading dimension of the array A, and the boundary is LDA >= max(1,N). respect the leading dimension or suffer the consequences 🫢

INFO

!>          INFO is INTEGER
!>          = 0:  successful exit
!>          < 0:  if INFO = -i, the i-th argument had an illegal value
!>
  • INFO is INTEGER.
  • = 0: successful exit πŸŽ‰ slay, we love a clean run.
  • < 0: if INFO = -i, the i-th argument had an illegal value. someone passed a bad argument and now INFO is snitching on exactly which one πŸ’€

πŸ‘‘ Author

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

the whole squad collaborated, we love a group project that actually worked 🫢


🌈 Definition

Definition at line 103 of file ctpttr.f.


⭐ Author (the meta one)

Generated automatically by Doxygen for LAPACK from the source code. not me writing this by hand, it's the robots, and honestly? they ate. πŸ€–βœ¨


okay that's the whole page bestie, every flag, every formula, every reference β€” all accounted for, iykyk πŸ’œ

warning-ish but cute: A only gets the triangular half filled in, so if you go poking at the other half expecting data, that's on you, not her. it is not referenced. periodt.

🌸 mwah, that's a wrap! this page is from LAPACK, Version 3.12.0, and it's filed as SRC/ctpttr.f(3) β€” go unpack some triangles, you've got this πŸŽ€πŸ’–

πŸ“¦ where this page comes from