CTRSM(3)
okay bestie, welcome to CTRSM(3) from the Library Functions Manual β this is the one and only triangular-solve moment, and we're gonna read it together like the group chat is watching π β¨
π NAME π
This page is literally the man page for:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/ctrsm.f
no cap, that's the whole NAME vibe π«Ά
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine CTRSM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)β yup, that'sCTRSM, the main character of this page π«‘
π¦ Function/Subroutine Documentation π¦
subroutine CTRSM
okay so here's the full signature, exactly as it is, no edits bestie:
subroutine CTRSM (character side, character uplo, character transa,
character diag, integer m, integer n, complex alpha, complex,
dimension(lda,*) a, integer lda, complex, dimension(ldb,*) b, integer
ldb)
CTRSM β that's her. That's the icon. π
π Purpose: π
CTRSM solves one of these matrix equations:
op( A )*X = alpha*B, or X*op( A ) = alpha*B,
where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix, and op( A ) is one of:
op( A ) = A or op( A ) = A**T or op( A ) = A**H.
The matrix X is overwritten on B β literally, that's the exit plan. periodt. πΈ
π Parameters π
SIDE
SIDE is CHARACTER*1.
On entry, SIDE specifies whether op( A ) appears on the left or right of X, like this:
SIDE = 'L' or 'l' op( A )*X = alpha*B.SIDE = 'R' or 'r' X*op( A ) = alpha*B.
left girlies and right girlies, both valid π
UPLO
UPLO is CHARACTER*1.
On entry, UPLO specifies whether the matrix A is an upper or lower triangular matrix, as follows:
UPLO = 'U' or 'u' A is an upper triangular matrix.UPLO = 'L' or 'l' A is a lower triangular matrix.
TRANSA
TRANSA is CHARACTER*1.
On entry, TRANSA specifies the form of op( A ) to be used in the matrix multiplication, like:
TRANSA = 'N' or 'n' op( A ) = A.TRANSA = 'T' or 't' op( A ) = A**T.TRANSA = 'C' or 'c' op( A ) = A**H.
DIAG
DIAG is CHARACTER*1.
On entry, DIAG specifies whether or not A is unit triangular, as follows:
DIAG = 'U' or 'u' A is assumed to be unit triangular.DIAG = 'N' or 'n' A is not assumed to be unit triangular.
M
M is INTEGER.
On entry, M specifies the number of rows of B. M must be at least zero. no negative row energy allowed π
ββοΈ
N
N is INTEGER.
On entry, N specifies the number of columns of B. N must be at least zero. same rule, bestie β¨
ALPHA
ALPHA is COMPLEX.
On entry, ALPHA specifies the scalar alpha. When alpha is zero then A is not referenced and B need not be set before entry. zero alpha said "not today, matrix" π
A
A is COMPLEX array, dimension ( LDA, k ), where k is m when SIDE = 'L' or 'l' and k is n when SIDE = 'R' or 'r'.
Before entry with UPLO = 'U' or 'u', the leading k by k upper triangular part of the array A must contain the upper triangular matrix, and the strictly lower triangular part of A is not referenced.
Before entry with UPLO = 'L' or 'l', the leading k by k lower triangular part of the array A must contain the lower triangular matrix, and the strictly upper triangular part of A is not referenced.
Note that when DIAG = 'U' or 'u', the diagonal elements of A are not referenced either, but are assumed to be unity. the diagonal said "i'm unity, don't look at me" π
LDA
LDA is INTEGER.
On entry, LDA specifies the first dimension of A as declared in the calling (sub) program.
When SIDE = 'L' or 'l' then LDA must be at least max( 1, m ), when SIDE = 'R' or 'r' then LDA must be at least max( 1, n ). respect the leading dimension, fr fr π
B
B is COMPLEX array, dimension ( LDB, N ).
Before entry, the leading m by n part of the array B must contain the right-hand side matrix B, and on exit is overwritten by the solution matrix X. she comes in as B, leaves as X β glow-up on the way out π«
LDB
LDB is INTEGER.
On entry, LDB specifies the first dimension of B as declared in the calling (sub) program. LDB must be at least max( 1, m ). yes, max( 1, m ), not vibes-based π«Ά
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Further Details: π
okay bestie, the details are giving historical icon behavior:
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.
π Definition at line 179 of file ctrsm.f. π
that's literally the location, no guessing π₯
π Author (auto-generated one) π
Generated automatically by Doxygen for LAPACK from the source code.
with love and maximum sparkle, this page is from LAPACK Version 3.12.0, and the footer path is /home/abui...SRC/ctrsm.f(3) β bye bestie, slay your triangular solves responsibly π«Άππ
π¦ 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