STRMM(3)
STRMM(3) β Library Functions Manual π
Okay bestie, this is the strmm.f(3) page from the Library Functions Manual, and it is literally the BLAS routine for triangular matrix-matrix multiplication. The file is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/strmm.f. No cap. β¨
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/strmm.f
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine STRMM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)β theSTRMMsubroutine call, exactly as listed.
subroutine STRMM (side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
STRMM
π«Ά Function/Subroutine Documentation π«Ά
subroutine STRMM (character side, character uplo, character transa,
character diag, integer m, integer n, real alpha, real, dimension(lda,*)
a, integer lda, real, dimension(ldb,*) b, integer ldb)
STRMM
Purpose π«
Itβs giving βtransform B with alpha and op( A ) from the left or the right.β Hereβs the exact energy:
!>
!> STRMM 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.
!>
Parameters πΈ
SIDEβSIDE is CHARACTER*1. On entry,SIDEspecifies whetherop( A )multipliesBfrom the left or right, like this: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,UPLOspecifies whether matrixAis upper or lower triangular, like this: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,TRANSAspecifies the form ofop( A )used in the matrix multiplication, like this:TRANSA = 'N' or 'n'βop( A ) = A.TRANSA = 'T' or 't'βop( A ) = A**T.TRANSA = 'C' or 'c'βop( A ) = A**T.
DIAGβDIAG is CHARACTER*1. On entry,DIAGspecifies whether or notAis unit triangular, like this: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,Mspecifies the number of rows ofB.M must be at least zero.NβN is INTEGER. On entry,Nspecifies the number of columns ofB.N must be at least zero.ALPHAβALPHA is REAL. On entry,ALPHAspecifies the scalaralpha. Whenalphais zero,Ais not referenced andBneed not be set before entry.AβA is REAL array, dimension ( LDA, k ), wherekismwhenSIDE = 'L' or 'l'and isnwhenSIDE = 'R' or 'r'. Before entry withUPLO = 'U' or 'u', the leadingk by kupper 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 leadingk by klower 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.LDAβLDA is INTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. WhenSIDE = 'L' or 'l', thenLDA must be at least max( 1, m ); whenSIDE = 'R' or 'r', thenLDA must be at least max( 1, n ).BβB is REAL array, dimension ( LDB, N ). Before entry, the leadingm by npart of the arrayBmust contain the matrixB, and on exit is overwritten by the transformed matrix.LDBβLDB is INTEGER. On entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program.LDB must be at least max( 1, m ).
Author π
Univ. of TennesseeUniv. of California BerkeleyUniv. of Colorado DenverNAG 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.
!>
Definition at line 176 of file strmm.f.
Author π¦
Generated automatically by Doxygen for LAPACK from the source code.
Signed, sealed, delivered: LAPACK Version 3.12.0 π, from /home/abui...SRC/strmm.f(3), with that iconic 8-February-1989 energy still going strong. Bye bestie, go slay that triangular multiply! π
β¨
π¦ 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