CHEMM(3)
π NAME π
Bestie, this is the page for chemm.f(3), and the manual name is Library Functions Manual β so we're in Unix-manpage land, but make it fashion. The source file is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/chemm.f
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine CHEMM (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)
CHEMM
π¦ Function/Subroutine Documentation π¦
Here's the full signature, copied exactly because we do not mess with Fortran signatures, periodt:
subroutine CHEMM (character side, character uplo, integer m, integer n,
complex alpha, complex, dimension(lda,*) a, integer lda, complex,
dimension(ldb,*) b, integer ldb, complex beta, complex, dimension(ldc,*)
c, integer ldc)
CHEMM
πΈ Purpose πΈ
Okay so CHEMM performs one of the matrix-matrix operations, and the source comment says it like this:
!>
!> CHEMM performs one of the matrix-matrix operations
!>
!> C := alpha*A*B + beta*C,
!>
!> or
!>
!> C := alpha*B*A + beta*C,
!>
!> where alpha and beta are scalars, A is an hermitian matrix and B and
!> C are m by n matrices.
!>
Translation for the group chat: alpha and beta are scalars, A is hermitian, and B and C are m by n matrices. Slay. π
π Parameters π
SIDEβSIDE is CHARACTER*1. On entry,SIDEspecifies whether the hermitian matrixAappears on the left or right in the operation, like this:SIDE = 'L' or 'l'βC := alpha*A*B + beta*CSIDE = 'R' or 'r'βC := alpha*B*A + beta*C
UPLOβUPLO is CHARACTER*1. On entry,UPLOspecifies whether the upper or lower triangular part of the hermitian matrixAis to be referenced:UPLO = 'U' or 'u'β only the upper triangular part of the hermitian matrix is to be referenced.UPLO = 'L' or 'l'β only the lower triangular part of the hermitian matrix is to be referenced.
MβM is INTEGER. On entry,Mspecifies the number of rows of the matrixC.Mmust be at least zero.NβN is INTEGER. On entry,Nspecifies the number of columns of the matrixC.Nmust be at least zero.ALPHAβALPHA is COMPLEX. On entry,ALPHAspecifies the scalaralpha.AβA is COMPLEX array, dimension ( LDA, ka ), wherekaismwhenSIDE = 'L' or 'l'and isnotherwise. Here's the whole situation:- Before entry with
SIDE = 'L' or 'l', them by mpart of the arrayAmust contain the hermitian matrix, such that:- when
UPLO = 'U' or 'u', the leadingm by mupper triangular part of the arrayAmust contain the upper triangular part of the hermitian matrix, and the strictly lower triangular part ofAis not referenced; - when
UPLO = 'L' or 'l', the leadingm by mlower triangular part of the arrayAmust contain the lower triangular part of the hermitian matrix, and the strictly upper triangular part ofAis not referenced.
- when
- Before entry with
SIDE = 'R' or 'r', then by npart of the arrayAmust contain the hermitian matrix, such that:- when
UPLO = 'U' or 'u', the leadingn by nupper triangular part of the arrayAmust contain the upper triangular part of the hermitian matrix, and the strictly lower triangular part ofAis not referenced; - when
UPLO = 'L' or 'l', the leadingn by nlower triangular part of the arrayAmust contain the lower triangular part of the hermitian matrix, and the strictly upper triangular part ofAis not referenced.
- when
- Note that the imaginary parts of the diagonal elements need not be set, they are assumed to be zero.
- Before entry with
LDAβLDA is INTEGER. 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βB is COMPLEX array, dimension ( LDB, N ). Before entry, the leadingm by npart of the arrayBmust contain the matrixB.LDBβLDB is INTEGER. On entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program.LDBmust be at leastmax( 1, m ).BETAβBETA is COMPLEX. On entry,BETAspecifies the scalarbeta. WhenBETAis supplied as zero thenCneed not be set on input.CβC is COMPLEX array, dimension ( LDC, N ). Before entry, the leadingm by npart of the arrayCmust contain the matrixC, except whenbetais zero, in which caseCneed not be set on entry. On exit, the arrayCis overwritten by them by nupdated matrix.LDCβLDC is INTEGER. On entry,LDCspecifies 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.
β Further Details β
The source says it's a Level 3 Blas routine, and then gives the vintage receipt:
!>
!> 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 190 of file chemm.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
And that's the whole page, bestie. The footer vibes are: LAPACK Version 3.12.0, source path /home/abui...SRC/chemm.f(3). Iconic. π«Άπ
π¦ 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