BLAS/SRC/zsymm.f(3)
π BLAS/SRC/zsymm.f π
okay bestie, let me tell you about this iconic BLAS routine, zsymm. it's a manual page for a Fortran subroutine that does symmetric matrix-matrix multiplication, and it's literally the blueprint. no cap.
πΈ NAME πΈ
BLAS/SRC/zsymm.f β this whole vibe is the zsymm subroutine, and it's giving symmetric matrix energy. periodt.
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine zsymm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)
ZSYMM
π Function/Subroutine Documentation π
subroutine zsymm (character side, character uplo, integer m, integer n,
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)
ZSYMM
π Purpose π
okay so ZSYMM performs one of the matrix-matrix operations, and it's giving iconic linear algebra behavior:
C := alpha*A*B + beta*C,
or
C := alpha*B*A + beta*C,
where alpha and beta are scalars, A is a symmetric matrix and B and C are m by n matrices. it's that simple, bestie.
π¦ Parameters π¦
SIDEβSIDEisCHARACTER*1. on entry,SIDEspecifies whether the symmetric matrixAappears on the left or right in the operation as follows:SIDE = 'L' or 'l'βC := alpha*A*B + beta*C,SIDE = 'R' or 'r'βC := alpha*B*A + beta*C,
UPLOβUPLOisCHARACTER*1. on entry,UPLOspecifies whether the upper or lower triangular part of the symmetric matrixAis to be referenced as follows:UPLO = 'U' or 'u'β Only the upper triangular part of the symmetric matrix is to be referenced.UPLO = 'L' or 'l'β Only the lower triangular part of the symmetric matrix is to be referenced.
MβMisINTEGER. on entry,Mspecifies the number of rows of the matrixC.Mmust be at least zero.NβNisINTEGER. on entry,Nspecifies the number of columns of the matrixC.Nmust be at least zero.ALPHAβALPHAisCOMPLEX*16. on entry,ALPHAspecifies the scalaralpha.AβAisCOMPLEX*16array, dimension( LDA, ka ), wherekaismwhenSIDE = 'L' or 'l'and isnotherwise. before entry withSIDE = 'L' or 'l', thembympart of the arrayAmust contain the symmetric matrix, such that whenUPLO = 'U' or 'u', the leadingmbymupper triangular part of the arrayAmust contain the upper triangular part of the symmetric matrix and the strictly lower triangular part ofAis not referenced, and whenUPLO = 'L' or 'l', the leadingmbymlower triangular part of the arrayAmust contain the lower triangular part of the symmetric matrix and the strictly upper triangular part ofAis not referenced. before entry withSIDE = 'R' or 'r', thenbynpart of the arrayAmust contain the symmetric matrix, such that whenUPLO = 'U' or 'u', the leadingnbynupper triangular part of the arrayAmust contain the upper triangular part of the symmetric matrix and the strictly lower triangular part ofAis not referenced, and whenUPLO = 'L' or 'l', the leadingnbynlower triangular part of the arrayAmust contain the lower triangular part of the symmetric matrix and the strictly upper triangular part ofAis not referenced.LDAβLDAisINTEGER. on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. whenSIDE = 'L' or 'l'thenLDAmust be at leastmax( 1, m ), otherwiseLDAmust be at leastmax( 1, n ).BβBisCOMPLEX*16array, dimension( LDB, N ). before entry, the leadingmbynpart of the arrayBmust contain the matrixB.LDBβLDBisINTEGER. on entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program.LDBmust be at leastmax( 1, m ).BETAβBETAisCOMPLEX*16. on entry,BETAspecifies the scalarbeta. whenBETAis supplied as zero thenCneed not be set on input.CβCisCOMPLEX*16array, dimension( LDC, N ). before entry, the leadingmbynpart of the arrayCmust contain the matrixC, except whenbetais zero, in which caseCneed not be set on entry. on exit, the arrayCis overwritten by thembynupdated matrix.LDCβLDCisINTEGER. on entry,LDCspecifies the first dimension ofCas declared in the calling (sub) program.LDCmust be at leastmax( 1, m ).
π Author π
shoutout to the authors:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
they ate, honestly. π
π Further Details π
this is a Level 3 Blas routine. fr fr.
-- 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.
legends only. π«Ά
Definition at line 188 of file zsymm.f. π
this page was generated automatically by Doxygen for LAPACK from the source code. it's LAPACK Version 3.12.0. so next time you're doing some complex symmetric matrix math, you know who to call. bye bestie! πβ¨π¦
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms