DTRSM(3)
π DTRSM(3) β like, the triangular solve, bestie
okay so real talk, this one lives in the Library Functions Manual (LAPACK, if the vibe check didn't already tell you) and it's about to eat. no cap. π«Ά
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/dtrsm.f
that's the whole name. it's a whole path. it's iconic in a deeply unhinged way. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine DTRSM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
DTRSM. that's it. that's the summary. slay. π
β¨ Function/Subroutine Documentation β¨
subroutine DTRSM (character side, character uplo, character transa,
character diag, integer m, integer n, double precision alpha, double
precision, dimension(lda,*) a, integer lda, double precision,
dimension(ldb,*) b, integer ldb)
DTRSM.
πΈ Purpose πΈ
DTRSM solves one of the matrix equations
op( A )*X = alpha*B, or X*op( A ) = alpha*B,
wherealphais a scalar,XandBarembynmatrices,Ais a unit, or non-unit, upper or lower triangular matrix andop( A )is one of
op( A ) = A or op( A ) = A**T.
The matrixXis overwritten onB.
so literally, bestie: you hand it a triangular A and a right-hand-side B, and it hands you back your answer inside B. main character energy for a matrix, honestly. π
β¨ PARAMETERS β¨
SIDE
SIDEisCHARACTER*1On entry,SIDEspecifies whetherop( A )appears on the left or right ofXas follows:
SIDE = 'L'or'l'βop( A )*X = alpha*B.SIDE = 'R'or'r'βX*op( A ) = alpha*B.
so like, which side of the equation is A on. left or right. pick your fighter. π
UPLO
UPLOisCHARACTER*1On entry,UPLOspecifies whether the matrixAis an upper or lower triangular matrix as follows:
UPLO = 'U'or'u'βAis an upper triangular matrix.UPLO = 'L'or'l'βAis a lower triangular matrix.
TRANSA
TRANSAisCHARACTER*1On entry,TRANSAspecifies the form ofop( A )to be used in the matrix multiplication as follows:
TRANSA = 'N'or'n'βop( A ) = A.TRANSA = 'T'or't'βop( A ) = A**T.TRANSA = 'C'or'c'βop( A ) = A**T.
(two of those are literally the same thing, and yes the docs really do list both. we love a thorough queen. π¦)
DIAG
DIAGisCHARACTER*1On entry,DIAGspecifies whether or notAis unit triangular as follows:
DIAG = 'U'or'u'βAis assumed to be unit triangular.DIAG = 'N'or'n'βAis not assumed to be unit triangular.
M
MisINTEGEROn entry,Mspecifies the number of rows ofB.Mmust be at least zero.
N
NisINTEGEROn entry,Nspecifies the number of columns ofB.Nmust be at least zero.
ALPHA
ALPHAisDOUBLE PRECISION.On entry,ALPHAspecifies the scalaralpha. Whenalphais zero thenAis not referenced andBneed not be set before entry.
okay this one's lowkey a money-saver: alpha = 0 and it doesn't even look at A. not even a glance. β¨
A
AisDOUBLE PRECISION array, dimension ( LDA, k ),wherekismwhenSIDE = 'L'or'l'andkisnwhenSIDE = 'R'or'r'. Before entry withUPLO = 'U'or'u', the leadingkbykupper triangular part of the arrayAmust contain the upper triangular matrix and the strictly lower triangular part ofAis not referenced. Before entry withUPLO = 'L'or'l', the leadingkbyklower triangular part of the arrayAmust contain the lower triangular matrix and the strictly upper triangular part ofAis not referenced. Note that whenDIAG = 'U'or'u', the diagonal elements ofAare not referenced either, but are assumed to be unity.
so the other half of A is justβ¦ vibes. it's there, nobody's reading it. π
LDA
LDAisINTEGEROn entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. WhenSIDE = 'L'or'l'thenLDAmust be at leastmax( 1, m ), whenSIDE = 'R'or'r'thenLDAmust be at leastmax( 1, n ).
B
BisDOUBLE PRECISION array, dimension ( LDB, N )Before entry, the leadingmbynpart of the arrayBmust contain the right-hand side matrixB, and on exit is overwritten by the solution matrixX.
she's a shapeshifter. goes in as B, comes out as X. character development. π
LDB
LDBisINTEGEROn entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program.LDBmust be at leastmax( 1, m ).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π§ Further Details π§
Level 3 Blas routine. -- Written on 8-February-1989. Jack Dongarra, Argonne National Laboratory. Iain Duff, AERE Harwell. Jeremy Du Croz, Numerical Algorithms Group Ltd. Sven Hammarling, Numerical Algorithms Group Ltd.
1989!! these legends wrote this before half of us were even a thought. respect the elders fr fr. π«Ά
πΈ Definition πΈ
Definition at line 180 of file dtrsm.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole page, bestie β signed, sealed, and shipped with LAPACK Version 3.12.0, dated with that good good /home/abui...SRC/dtrsm.f(3) footer energy. go solve something triangular. periodt. π
β¨
π¦ 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