BLAS/SRC/ztrmm.f(3)
π BLAS/SRC/ztrmm.f(3) π
bestie you have officially stumbled into the LAPACK section of the manual, and today's main character is BLAS/SRC/ztrmm.f. no cap, it's giving "triangular matrix times matrix but make it complex". let's get into it π
β¨ NAME β¨
BLAS/SRC/ztrmm.f β that's the file, that's the vibe, that's the whole thing π¦
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine ztrmm (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)β akaZTRMM, the icon herself π
π Function/Subroutine Documentation π
subroutine ztrmm
okay so here's the full signature, copy it exactly bestie, no typos allowed:
subroutine ztrmm (character side, character uplo, character transa,
character diag, integer m, integer n, complex*16 alpha, complex*16,
dimension(lda,*) a, integer lda, complex*16, dimension(ldb,*) b, integer
ldb)
ZTRMM π
π« Purpose π«
so what does this queen actually do? she performs one of the matrix-matrix operations
B := alpha*op( A )*B, or B := alpha*B*op( A )
where alpha is a scalar, B is an m by n matrix, 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.
periodt. that's the whole job β¨
π§ Parameters π§
SIDEβSIDE is CHARACTER*1
on entry, SIDE specifies whether op( A ) multiplies B from the left or right, like so:
SIDE = 'L' or 'l'βB := alpha*op( A )*B.SIDE = 'R' or 'r'βB := alpha*B*op( A ).
UPLOβUPLO is CHARACTER*1
on entry, UPLO specifies whether the matrix A is an upper or lower triangular matrix, like so:
UPLO = 'U' or 'u'βAis an upper triangular matrix.UPLO = 'L' or 'l'βAis 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 so:
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, like so:
DIAG = 'U' or 'u'βAis assumed to be unit triangular.DIAG = 'N' or 'n'βAis 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.
NβN is INTEGER
on entry, N specifies the number of columns of B. N must be at least zero.
ALPHAβALPHA is COMPLEX*16
on entry, ALPHA specifies the scalar alpha. when alpha is zero then A is not referenced and B need not be set before entry. lowkey a freebie, take it π
AβA is COMPLEX*16 array, dimension ( LDA, k ), wherekismwhenSIDE = 'L' or 'l'and isnwhenSIDE = '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. iconic behaviour honestly π
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 ).
BβB is COMPLEX*16 array, dimension ( LDB, N ).
before entry, the leading m by n part of the array B must contain the matrix B, and on exit is overwritten by the transformed matrix. bye bye original B π«Ά
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 ).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
all of them. collectively. the whole squad π«Ά
π 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.
literally legends, wrote it in 1989 and it's still eating today π
β Definition β
Definition at line 176 of file ztrmm.f.
π¦ Author π¦
Generated automatically by Doxygen for LAPACK from the source code. β so if the prose is a little dry, that's why bestie, a robot wrote it π€β¨
okay and that's a wrap, my love π this page was brought to you by Version 3.12.0, dated Tue Nov 28 2023 12:08:41, living at BLAS/SRC/ztrmm.f(3). go forth and multiply your triangular matrices, no cap πΈπ
π«Ά
π¦ where this page comes from
- centos-stream 10: blas 3.12.0-7.el10 Β· BSD-3-Clause-Open-MPI
- fedora 43: blas 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 43: blas 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 44: blas 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- fedora 44: blas 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms