BLAS/SRC/sgemm.f(3)
π BLAS/SRC/sgemm.f π
okay bestie, gather round, because we're about to talk about the LAPACK page for BLAS/SRC/sgemm.f, and honestly? she's iconic. she's the matrix-matrix multiply girlie. let's get into it π
β¨ NAME β¨
BLAS/SRC/sgemm.f β no cap, that's the whole name, that's the file, that's the moment πΈ
π¦ 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. like literally the glow-up formula, the main character energy of linear algebra, periodt π
π Parameters
TRANSA
TRANSA is CHARACTER*1 On entry, TRANSA specifies the form of op( 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.
TRANSB
TRANSB is CHARACTER*1 On entry, TRANSB specifies the form of op( B ) to be used in the matrix multiplication as follows:
TRANSB = 'N' or 'n',op( B ) = B.TRANSB = 'T' or 't',op( B ) = B**T.TRANSB = 'C' or 'c',op( B ) = B**T.
M
M is INTEGER On entry, M specifies the number of rows of the matrix op( A ) and of the matrix C. M must be at least zero.
N
N is INTEGER On entry, N specifies the number of columns of the matrix op( B ) and the number of columns of the matrix C. N must be at least zero.
K
K is INTEGER On entry, K specifies the number of columns of the matrix op( A ) and the number of rows of the matrix op( B ). K must be at least zero.
ALPHA
ALPHA is REAL On entry, ALPHA specifies the scalar alpha. the lil multiplier bestie π«Ά
A
A is REAL array, dimension ( LDA, ka ), where ka is k when TRANSA = 'N' or 'n', and is m otherwise. Before entry with TRANSA = 'N' or 'n', the leading m by k part of the array A must contain the matrix A, otherwise the leading k by m part of the array A must contain the matrix A.
LDA
LDA is INTEGER On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When TRANSA = 'N' or 'n' then LDA must be at least max( 1, m ), otherwise LDA must be at least max( 1, k ).
B
B is REAL array, dimension ( LDB, kb ), where kb is n when TRANSB = 'N' or 'n', and is k otherwise. Before entry with TRANSB = 'N' or 'n', the leading k by n part of the array B must contain the matrix B, otherwise the leading n by k part of the array B must contain the matrix B.
LDB
LDB is INTEGER On entry, LDB specifies the first dimension of B as declared in the calling (sub) program. When TRANSB = 'N' or 'n' then LDB must be at least max( 1, k ), otherwise LDB must be at least max( 1, n ).
BETA
BETA is REAL On entry, BETA specifies the scalar beta. When BETA is supplied as zero then C need not be set on input. (yes queen, zero beta means you can skip the setup, we love a shortcut π)
C
C is REAL array, dimension ( LDC, N ) Before entry, the leading m by n part of the array C must contain the matrix C, except when beta is zero, in which case C need not be set on entry. On exit, the array C is overwritten by the m by n matrix
( alpha*op( A )*op( B ) + beta*C ).
heads up bestie: C gets overwritten. she does not survive the function. that's just the vibe. π
LDC
LDC is INTEGER On entry, LDC specifies the first dimension of C as declared in the calling (sub) program. LDC must be at least max( 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.
Definition at line 186 of file sgemm.f.
πΈ Author πΈ
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole page, bestie π§ no notes, she ate, she left no crumbs. this was Version 3.12.0, dated Tue Nov 28 2023 12:08:41, and it lives at BLAS/SRC/sgemm.f(3) β go forth and multiply those matrices, iykyk πβ¨π
π¦ 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