BLAS/SRC/zgemm.f(3)
π BLAS/SRC/zgemm.f β the LAPACK manual, but make it make sense π
okay bestie, welcome to the page for BLAS/SRC/zgemm.f(3), straight out of the LAPACK docs. this is the glow-up edition. same facts, way better vibes. let's get into it π«Ά
β¨ NAME β¨
BLAS/SRC/zgemm.f β that's the file, that's the whole name, she's simple like that π
πΈ SYNOPSIS πΈ
Functions/Subroutines
here's the actual call signature, copy it exactly bestie, no typos, no cap:
subroutine zgemm (transa, transb, m, n, k, alpha, a, lda, b, ldb, beta,
c, ldc)
ZGEMM
π¦ Function/Subroutine Documentation π¦
the actual subroutine, full glow-up:
subroutine zgemm (character transa, character transb, integer m, integer n,
integer k, complex*16 alpha, complex*16, dimension(lda,*) a, integer
lda, complex*16, dimension(ldb,*) b, integer ldb, complex*16 beta,
complex*16, dimension(ldc,*) c, integer ldc)
ZGEMM π
π Purpose π
okay so ZGEMM does one of the matrix-matrix operations:
C := alpha*op( A )*op( B ) + beta*C,
and op( X ) is one of these three icons:
op( X ) = X or op( X ) = X**T or op( X ) = X**H,
alpha and beta are scalars, and A, B and C are matrices β where op( A ) is an m by k matrix, op( B ) is a k by n matrix, and C is an m by n matrix. the shape math is doing its thing, trust β¨
π Parameters π
TRANSA
TRANSAisCHARACTER*1.- on entry,
TRANSAsays which form ofop( A )we're using in the multiplication, and the options are:TRANSA = 'N'or'n', thenop( A ) = A.TRANSA = 'T'or't', thenop( A ) = A**T.TRANSA = 'C'or'c', thenop( A ) = A**H.
TRANSB
TRANSBisCHARACTER*1.- on entry,
TRANSBsays which form ofop( B )we're using in the multiplication, options are:TRANSB = 'N'or'n', thenop( B ) = B.TRANSB = 'T'or't', thenop( B ) = B**T.TRANSB = 'C'or'c', thenop( B ) = B**H.
M
MisINTEGER.- on entry,
Mspecifies the number of rows of the matrixop( A )and of the matrixC.Mmust be at least zero. no negative row counts, we don't do that here π
N
NisINTEGER.- on entry,
Nspecifies the number of columns of the matrixop( B )and the number of columns of the matrixC.Nmust be at least zero.
K
KisINTEGER.- on entry,
Kspecifies the number of columns of the matrixop( A )and the number of rows of the matrixop( B ).Kmust be at least zero.
ALPHA
ALPHAisCOMPLEX*16.- on entry,
ALPHAspecifies the scalaralpha. the main character scalar π«
A
AisCOMPLEX*16array, dimension( LDA, ka ), wherekaiskwhenTRANSA = 'N'or'n', and ismotherwise.- before entry with
TRANSA = 'N'or'n', the leading m by k part of the arrayAmust contain the matrixA, otherwise the leading k by m part of the arrayAmust contain the matrixA.
LDA
LDAisINTEGER.- on entry,
LDAspecifies 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 ).
B
BisCOMPLEX*16array, dimension( LDB, kb ), wherekbisnwhenTRANSB = 'N'or'n', and iskotherwise.- before entry with
TRANSB = 'N'or'n', the leading k by n part of the arrayBmust contain the matrixB, otherwise the leading n by k part of the arrayBmust contain the matrixB.
LDB
LDBisINTEGER.- on entry,
LDBspecifies 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
BETAisCOMPLEX*16.- on entry,
BETAspecifies the scalarbeta. whenBETAis supplied as zero thenCneed not be set on input. free pass on the input, we love a low-effort entry β¨
C
CisCOMPLEX*16array, dimension( LDC, N ).- before entry, the leading m by n part of the array
Cmust contain the matrixC, except whenbetais zero, in which caseCneed not be set on entry. - on exit, the array
Cis overwritten by the m by n matrix( alpha*op( A )*op( B ) + beta*C ). she gets rewritten, that's the whole point π
LDC
LDCisINTEGER.- on entry,
LDCspecifies the first dimension ofCas declared in the calling (sub) program.LDCmust be at leastmax( 1, m ).
π Author π
the legends behind this:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π₯ Further Details π₯
level 3 Blas routine. yep, she's a level 3 icon, top tier, no notes π
-- 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 zgemm.f. (iykyk π)
Author (the meta one)
generated automatically by Doxygen for LAPACK from the source code. the docs wrote themselves, basically π€β¨
aaaand that's the whole page bestie, you ate it, you understood it, periodt π
this was LAPACK Version 3.12.0, dated Tue Nov 28 2023 12:08:41, from BLAS/SRC/zgemm.f(3) β thanks for reading, love u, bye ππ¦
π¦ 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