DTPTRS(3)
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dtptrs.f
okay so that's the whole file path bestie, it's literally the source file for this routine β that's the name, that's the vibe π«Ά
β¨ SYNOPSIS β¨
πΈ Functions/Subroutines πΈ
subroutine DTPTRS (uplo, trans, diag, n, nrhs, ap, b, ldb, info)
DTPTRS
π Function/Subroutine Documentation π
subroutine DTPTRS (character uplo, character trans, character diag, integer
n, integer nrhs, double precision, dimension( * ) ap, double precision,
dimension( ldb, * ) b, integer ldb, integer info)
DTPTRS
π¦ Purpose π¦
!> !> DTPTRS solves a triangular system of the form !> !> A * X = B or A**T * X = B, !> !> where A is a triangular matrix of order N stored in packed format, !> and B is an N-by-NRHS matrix. A check is made to verify that A is !> nonsingular. !>
translation: it solves A * X = B or A**T * X = B where A is triangular of order N and packed (no wasted zeros, we love an efficient queen π), and B is an N-by-NRHS matrix. And yes, it checks that A isn't singular, because we do not compute solutions for a broken matrix, periodt π
π Parameters π
π UPLO
!> UPLO is CHARACTER*1 !> = 'U': A is upper triangular; !> = 'L': A is lower triangular. !>
'U'βAis upper triangular'L'βAis lower triangular
π TRANS
!> TRANS is CHARACTER*1 !> Specifies the form of the system of equations: !> = 'N': A * X = B (No transpose) !> = 'T': AT * X = B (Transpose) !> = 'C': AH * X = B (Conjugate transpose = Transpose) !>
this one picks which system you're solving, like choosing your main character equation:
'N'βA * X = B(no transpose, stay as you are bestie)'T'βA**T * X = B(transpose)'C'βA**H * X = B(conjugate transpose β and yeah, it's literally the same as transpose here, iykyk)
π DIAG
!> DIAG is CHARACTER*1 !> = 'N': A is non-unit triangular; !> = 'U': A is unit triangular. !>
'N'βAis non-unit triangular'U'βAis unit triangular
π N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
the order of matrix A. gotta be N >= 0 π«Ά
π NRHS
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of columns !> of the matrix B. NRHS >= 0. !>
the number of right hand sides β aka how many columns B has. NRHS >= 0, no cap π
π AP
!> AP is DOUBLE PRECISION array, dimension (N*(N+1)/2) !> 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)(2*n-j)/2) = A(i,j) for j<=i<=n. !>
DOUBLE PRECISION array, dimension (N*(N+1)/2). It's A itself but packed columnwise into one linear array β the j-th column lives here 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)*(2*n-j)/2) = A(i,j) for j<=i<=n.
(keeping the lowercase n in that second one exactly as written, don't come for me π)
π B
!> B is DOUBLE PRECISION array, dimension (LDB,NRHS) !> On entry, the right hand side matrix B. !> On exit, if INFO = 0, the solution matrix X. !>
DOUBLE PRECISION array, dimension (LDB,NRHS).
- on entry β the right hand side matrix
B - on exit, if
INFO = 0β the solution matrixXβ¨ glow up complete
π LDB
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
the leading dimension of array B. requirement: LDB >= max(1,N) π
π INFO
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -i, the i-th argument had an illegal value !> > 0: if INFO = i, the i-th diagonal element of A is zero, !> indicating that the matrix is singular and the !> solutions X have not been computed. !>
= 0β successful exit, we ate π< 0β ifINFO = -i, the i-th argument had an illegal value π> 0β ifINFO = i, the i-th diagonal element ofAis zero, meaning the matrix is singular and the solutionsXhave not been computed π (no solutions for you, that's the whole point of the singularity check fr fr)
π Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
β Definition at line 129 of file dtptrs.f. β
πΈ Author πΈ
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole page bestie, no notes π
sign-off time: this is LAPACK Version 3.12.0, and the footer of the original page is /home/abui...RC/dtptrs.f(3) β so yeah, that's the source/version stamp and the date slot, we're keeping it cute and complete πβ¨π¦
π¦ 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