SGEMM(3)
π SGEMM(3) β from the Library Functions Manual π
okay so bestie, this is the page for sgemm.f, living at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/sgemm.f. yes that's a whole entire path, she's long, she's iconic, we respect her π«Ά
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/sgemm.f
like, that's the file. that's the name. that's the whole thing π
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine SGEMM (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta,
c, ldc)
SGEMM π
π¦ Function/Subroutine Documentation π¦
subroutine SGEMM (character transa, character transb, integer m, integer n,
integer k, real alpha, real, dimension(lda,*) a, integer lda, real,
dimension(ldb,*) b, integer ldb, real beta, real, dimension(ldc,*) c,
integer ldc)
SGEMM β¨
π Purpose:
!>
!> SGEMM performs one of the matrix-matrix operations
!>
!> C := alpha*op( A )*op( B ) + beta*C,
!>
!> where op( X ) is one of
!>
!> op( X ) = X or op( X ) = X**T,
!>
!> alpha and beta are scalars, and A, B and C are matrices, with op( A )
!> an m by k matrix, op( B ) a k by n matrix and C an m by n matrix.
!>
so basically: it multiplies matrices, optionally transposes them, optionally scales everything, and adds beta*C on top. it's giving "linear algebra main character energy" π
π Parameters
TRANSAβ bestie this one isCHARACTER*1. on entry,TRANSAsays what form ofop( A )you want in the multiply, like this:TRANSA = 'N'or'n', soop( A ) = A.TRANSA = 'T'or't', soop( A ) = A**T.TRANSA = 'C'or'c', soop( A ) = A**T.
TRANSBβ alsoCHARACTER*1. on entry,TRANSBsays what form ofop( B )you want in the multiply:TRANSB = 'N'or'n', soop( B ) = B.TRANSB = 'T'or't', soop( B ) = B**T.TRANSB = 'C'or'c', soop( B ) = B**T.
MβMisINTEGER. on entry,Mis how many rowsop( A )has, and how many rowsChas.Mmust be at least zero. no negatives, she said what she said πNβNisINTEGER. on entry,Nis how many columnsop( B )has, and how many columnsChas.Nmust be at least zero.KβKisINTEGER. on entry,Kis how many columnsop( A )has, and how many rowsop( B )has.Kmust be at least zero.ALPHAβALPHAisREAL. on entry,ALPHAspecifies the scalaralpha. she's a scalar, she's real, she's doing her best πAβAis aREALarray, dimension( LDA, ka ), wherekaiskwhenTRANSA = 'N'or'n', and ismotherwise. before entry withTRANSA = 'N'or'n', the leadingmbykpart of arrayAmust contain the matrixA; otherwise the leadingkbympart of arrayAmust contain the matrixA.LDAβLDAisINTEGER. on entry,LDAis the first dimension ofAas declared in the calling (sub) program. whenTRANSA = 'N'or'n'thenLDAmust be at leastmax( 1, m ), otherwiseLDAmust be at leastmax( 1, k ). do not skip this, she will know πBβBis aREALarray, dimension( LDB, kb ), wherekbisnwhenTRANSB = 'N'or'n', and iskotherwise. before entry withTRANSB = 'N'or'n', the leadingkbynpart of arrayBmust contain the matrixB; otherwise the leadingnbykpart of arrayBmust contain the matrixB.LDBβLDBisINTEGER. on entry,LDBis the first dimension ofBas declared in the calling (sub) program. whenTRANSB = 'N'or'n'thenLDBmust be at leastmax( 1, k ), otherwiseLDBmust be at leastmax( 1, n ).BETAβBETAisREAL. on entry,BETAspecifies the scalarbeta. whenBETAis supplied as zero thenCneed not be set on input. cute little shortcut, lowkey obsessed πCβCis aREALarray, dimension( LDC, N ). before entry, the leadingmbynpart of arrayCmust contain the matrixC, except whenbetais zero, in which caseCneed not be set on entry. on exit, arrayCis overwritten by thembynmatrix( alpha*op( A )*op( B ) + beta*C ). she gets overwritten bestie, that's just how it is πLDCβLDCisINTEGER. on entry,LDCis the first dimension ofCas declared in the calling (sub) program.LDCmust be at leastmax( 1, m ).
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad contributed, we love a collab π«Ά
π₯ 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.
!>
Level 3 BLAS routine, periodt. written on 8-February-1989 by Jack Dongarra (Argonne National Laboratory), Iain Duff (AERE Harwell), Jeremy Du Croz (Numerical Algorithms Group Ltd.), and Sven Hammarling (Numerical Algorithms Group Ltd.) β literal legends, we stan β
π§ Definition at line 186 of file sgemm.f.
like, line 186, go look, she's right there β¨
β Author
Generated automatically by Doxygen for LAPACK from the source code. not me being auto-generated π
ngl this whole page is auto-generated, so if something looks weird, blame Doxygen, not me π
okay bye bestie, this was SGEMM(3) from LAPACK, Version 3.12.0, at /home/abui...SRC/sgemm.f(3) β go multiply some matrices, you're gonna slay πβ¨ππ¦
π¦ 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