hemm(3)
π hemm(3) π β LAPACK
okay so bestie, pull up a chair and sip something π« this is hemm(3) from LAPACK, and she is the {he,sy}mm icon: Hermitian/symmetric matrix-matrix multiply. Six routines, one job, zero skips. Let's go π
β¨ NAME β¨
hemm β {he,sy}mm: Hermitian/symmetric matrix-matrix multiply
π SYNOPSIS π
π¦ Functions
subroutine chemm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)βCHEMMsubroutine csymm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)βCSYMMsubroutine dsymm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)βDSYMMsubroutine ssymm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)βSSYMMsubroutine zhemm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)βZHEMMsubroutine zsymm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)βZSYMM
π Detailed Description π
(not much tea here, the good stuff lives under Function Documentation π)
π Function Documentation π
π 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:
CHEMM does one of these two matrix-matrix operations, pick your fighter:
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. periodt π
Parameters
SIDEβCHARACTER*1. On entry,SIDEsays whether the hermitian matrixAshows up on the left or the right of the operation, like this:SIDE = 'L'or'l'βC := alpha*A*B + beta*C,SIDE = 'R'or'r'βC := alpha*B*A + beta*C,
UPLOβCHARACTER*1. On entry,UPLOsays whether we're referencing the upper or the lower triangular part of the hermitian matrixA, like this: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βINTEGER. On entry,Mis the number of rows of the matrixC.Mmust be at least zero.NβINTEGER. On entry,Nis the number of columns of the matrixC.Nmust be at least zero.ALPHAβCOMPLEX. On entry,ALPHAis the scalaralpha.AβCOMPLEX array, dimension ( LDA, ka ), wherekaismwhenSIDE = 'L'or'l', and isnotherwise.
Before entry with SIDE = 'L' or 'l', the m by m part of the array A must contain the hermitian matrix, such that when UPLO = 'U' or 'u', the leading m by m upper triangular part of the array A must contain the upper triangular part of the hermitian matrix and the strictly lower triangular part of A is not referenced; and when UPLO = 'L' or 'l', the leading m by m lower triangular part of the array A must contain the lower triangular part of the hermitian matrix and the strictly upper triangular part of A is not referenced.
Before entry with SIDE = 'R' or 'r', the n by n part of the array A must contain the hermitian matrix, such that when UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular part of the hermitian matrix and the strictly lower triangular part of A is not referenced; and when UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular part of the hermitian matrix and the strictly upper triangular part of A is not referenced.
heads up bestie π the imaginary parts of the diagonal elements need not be set β they're assumed to be zero.
LDAβINTEGER. On entry,LDAis 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βCOMPLEX array, dimension ( LDB, N ). Before entry, the leadingmbynpart of the arrayBmust contain the matrixB.LDBβINTEGER. On entry,LDBis the first dimension ofBas declared in the calling (sub)program.LDBmust be at leastmax( 1, m ).BETAβCOMPLEX. On entry,BETAis the scalarbeta. WhenBETAis supplied as zero thenCneed not be set on input. (free real estate π)CβCOMPLEX array, 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βINTEGER. 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.
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 190 of file chemm.f.
π subroutine csymm (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)
CSYMM
Purpose:
CSYMM 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 a symmetric matrix, and B and C are m by n matrices. π¦
Parameters
SIDEβCHARACTER*1. On entry,SIDEsays whether the symmetric matrixAappears on the left or the right in the operation, like this:SIDE = 'L'or'l'βC := alpha*A*B + beta*C,SIDE = 'R'or'r'βC := alpha*B*A + beta*C,
UPLOβCHARACTER*1. On entry,UPLOsays whether the upper or lower triangular part of the symmetric matrixAis to be referenced, like this: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βINTEGER. On entry,Mis the number of rows of the matrixC.Mmust be at least zero.NβINTEGER. On entry,Nis the number of columns of the matrixC.Nmust be at least zero.ALPHAβCOMPLEX. On entry,ALPHAis the scalaralpha.AβCOMPLEX array, dimension ( LDA, ka ), wherekaismwhenSIDE = 'L'or'l', and isnotherwise.
Before entry with SIDE = 'L' or 'l', the m by m part of the array A must contain the symmetric matrix, such that when UPLO = 'U' or 'u', the leading m by m upper triangular part of the array A must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of A is not referenced; and when UPLO = 'L' or 'l', the leading m by m lower triangular part of the array A must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of A is not referenced.
Before entry with SIDE = 'R' or 'r', the n by n part of the array A must contain the symmetric matrix, such that when UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of A is not referenced; and when UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of A is not referenced.
LDAβINTEGER. On entry,LDAis 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βCOMPLEX array, dimension ( LDB, N ). Before entry, the leadingmbynpart of the arrayBmust contain the matrixB.LDBβINTEGER. On entry,LDBis the first dimension ofBas declared in the calling (sub)program.LDBmust be at leastmax( 1, m ).BETAβCOMPLEX. On entry,BETAis the scalarbeta. WhenBETAis supplied as zero thenCneed not be set on input.CCβCisCOMPLEXarray, dimension( LDC, N ). Before you come in, the leading m by n part of the arrayChas to already hold the matrixCβ¦ except whenbetais zero, bestie, in which caseCliterally does not need to be set on entry, we don't care π . On the way out, the arrayCgets fully overwritten by the m by n updated matrix. It's giving glow-up β¨.LDCβLDCisINTEGER. On entry,LDCspecifies the first dimension ofCas declared in the calling (sub) program.LDCmust be at leastmax( 1, m ). That's the whole vibe check, no notes π«Ά.
Author πΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details: π
Level 3 Blas routine. Say it with me: 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 188 of file csymm.f.
β¨ subroutine dsymm β¨
subroutine dsymm (character side, character uplo, integer m, integer n,
double precision alpha, double precision, dimension(lda,*) a, integer
lda, double precision, dimension(ldb,*) b, integer ldb, double precision
beta, double precision, dimension(ldc,*) c, integer ldc)
DSYMM β the double precision one, and honestly? Iconic π
Purpose:
DSYMM 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 a symmetric matrix and B and C are m by n matrices. Two operations, one routine, main character energy fr fr ππ₯
Parameters
SIDEβSIDEisCHARACTER*1. On entry,SIDEtells us whether the symmetric matrixAshows up on the left or the right in the operation, like this:
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,UPLOsays whether the upper or lower triangular part of the symmetric matrixAis the one getting referenced:
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. Zero is allowed, we're not judging π«ΆNβNisINTEGER. On entry,Nspecifies the number of columns of the matrixC.Nmust be at least zero. Same deal bestie.ALPHAβALPHAisDOUBLE PRECISION.On entry,ALPHAspecifies the scalar alpha β¨AβAisDOUBLE PRECISIONarray, dimension( LDA, ka ), wherekais m whenSIDE = 'L' or 'l'and is n otherwise. Okay okay, deep breath, here's the tea:- Before entry with
SIDE = 'L' or 'l', the m by m part of the arrayAmust contain the symmetric matrix, such that whenUPLO = 'U' or 'u', the leading m by m upper 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 leading m by m lower 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 with
SIDE = 'R' or 'r', the n by n part of the arrayAmust contain the symmetric matrix, such that whenUPLO = 'U' or 'u', the leading n by n upper 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 leading n by n lower 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 with
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 ). Choose wisely bestie πBβBisDOUBLE PRECISIONarray, dimension( LDB, N ). Before entry, the leading m by n part of the arrayBmust contain the matrixB. That's it, that's the job β¨LDBβLDBisINTEGER. On entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program.LDBmust be at leastmax( 1, m ).BETAβBETAisDOUBLE PRECISION.On entry,BETAspecifies the scalar beta. WhenBETAis supplied as zero thenCneed not be set on input π (free pass, take it).CβCisDOUBLE PRECISIONarray, dimension( LDC, N ). Before entry, the leading m by n part of the arrayCmust contain the matrixC, except when beta is zero, in which caseCneed not be set on entry. On exit, the arrayCis overwritten by the m by n updated matrix. Served fresh πLDCβLDCisINTEGER. 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: π
Level 3 Blas routine. Periodt π
-- 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 188 of file dsymm.f.
β¨ subroutine ssymm β¨
subroutine ssymm (character side, character uplo, integer m, integer n, real
alpha, real, dimension(lda,*) a, integer lda, real, dimension(ldb,*) b,
integer ldb, real beta, real, dimension(ldc,*) c, integer ldc)
SSYMM β single precision edition, same energy, different bytes π¦
Purpose:
SSYMM 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 a symmetric matrix and B and C are m by n matrices. Yeah it's the same routine but in REAL, we love consistency π«Ά
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βALPHAisREAL. On entry,ALPHAspecifies the scalar alpha β¨AβAisREALarray, dimension( LDA, ka ), wherekais m whenSIDE = 'L' or 'l'and is n otherwise. Okay, the full rundown:- Before entry with
SIDE = 'L' or 'l', the m by m part of the arrayAmust contain the symmetric matrix, such that whenUPLO = 'U' or 'u', the leading m by m upper 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 leading m by m lower 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 with
SIDE = 'R' or 'r', the n by n part of the arrayAmust contain the symmetric matrix, such that whenUPLO = 'U' or 'u', the leading n by n upper 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 leading n by n lower 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 with
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βBisREALarray, dimension( LDB, N ). Before entry, the leading m by n part 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βBETAisREAL. On entry,BETAspecifies the scalar beta. WhenBETAis supplied as zero thenCneed not be set on input πCCβ COMPLEX*16 array, dimension ( LDC, N ). So like, before you even walk in the door, the leading m by n chunk of the arrayChas to already hold the matrixCβ except whenbetais zero, in which case bestie,Cdoesn't need to be set on entry at all, it's giving β¨no thoughts head emptyβ¨. On exit tho? The arrayCgets overwritten by the m by n updated matrix. It ate and left no crumbs. πLDCβ LDC is INTEGER. On entry,LDCspecifies the first dimension ofCas declared in the calling (sub) program.LDCmust be at leastmax( 1, m ). fr fr, don't skip this one π«Ά
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 188 of file ssymm.f. β iconic, historic, a whole moment in time π
subroutine zhemm π¦
subroutine zhemm (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)
ZHEMM π
Purpose:
ZHEMM 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. hermitian?? in THIS economy?? yes bestie, and she's serving π
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*C,SIDE = '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, as follows: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.
pick a side, any side, just not both π
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*16. On entry,ALPHAspecifies the scalar alpha. the moment β¨Aβ A is COMPLEX*16 array, dimension ( LDA, ka ), where ka is m whenSIDE = 'L' or 'l'and is n otherwise.
Before entry with SIDE = 'L' or 'l', the m by m part of the array A must contain the hermitian matrix, such that when UPLO = 'U' or 'u', the leading m by m upper triangular part of the array A must contain the upper triangular part of the hermitian matrix and the strictly lower triangular part of A is not referenced, and when UPLO = 'L' or 'l', the leading m by m lower triangular part of the array A must contain the lower triangular part of the hermitian matrix and the strictly upper triangular part of A is not referenced.
Before entry with SIDE = 'R' or 'r', the n by n part of the array A must contain the hermitian matrix, such that when UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular part of the hermitian matrix and the strictly lower triangular part of A is not referenced, and when UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular part of the hermitian matrix and the strictly upper triangular part of A is not referenced.
Note that the imaginary parts of the diagonal elements need not be set, they are assumed to be zero. so like, don't stress about those, they're literally not even reading them π
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*16 array, dimension ( LDB, N ). Before entry, the leading m by n part 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*16. On entry,BETAspecifies the scalar beta. WhenBETAis supplied as zero thenCneed not be set on input. free real estate, bestie πCβ C is COMPLEX*16 array, dimension ( LDC, N ). Before entry, the leading m by n part of the arrayCmust contain the matrixC, except whenbetais zero, in which caseCneed not be set on entry. On exit, the arrayCis overwritten by the m by n updated matrix. overwritten!! she's a whole new girl now π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 π
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 zhemm.f. β
subroutine zsymm πΈ
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:
ZSYMM 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 a symmetric matrix and B and C are m by n matrices. symmetric queen, we love her, no notes π
Parameters
SIDEβ SIDE is CHARACTER*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β UPLO is CHARACTER*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β 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*16. On entry,ALPHAspecifies the scalar alpha.Aβ A is COMPLEX*16 array, dimension ( LDA, ka ), where ka is m whenSIDE = 'L' or 'l'and is n otherwise.
Before entry with SIDE = 'L' or 'l', the m by m part of the array A must contain the symmetric matrix, such that when UPLO = 'U' or 'u', the leading m by m upper triangular part of the array A must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of A is not referenced, and when UPLO = 'L' or 'l', the leading m by m lower triangular part of the array A must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of A is not referenced.
Before entry with SIDE = 'R' or 'r', the n by n part of the array A must contain the symmetric matrix, such that when UPLO = 'U' or 'u', the leading n by n upper triangular part of the array A must contain the upper triangular part of the symmetric matrix and the strictly lower triangular part of A is not referenced, and when UPLO = 'L' or 'l', the leading n by n lower triangular part of the array A must contain the lower triangular part of the symmetric matrix and the strictly upper triangular part of A is not referenced.
notice how there's no imaginary-diagonal note here? that's the hermitian vs symmetric of it all, iykyk π§
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*16 array, dimension ( LDB, N ). Before entry, the leading m by n part 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*16. On entry,BETAspecifies the scalar beta. WhenBETAis supplied as zero thenCneed not be set on input. again!! don't set it, she said what she said π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. it literally updates in place, bestie β¨LDCβLDCisINTEGER. 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
Level 3 Blas routine. periodt π
-- 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 188 of file zsymm.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie that's the whole page, no cap π This was LAPACK 3.12.0, generated Tue Nov 28 2023 12:08:43, for hemm(3). bye pookie, go update your matrices responsibly πβ¨
π¦ where this page comes from
- centos-stream 10: lapack 3.12.0-7.el10 Β· BSD-3-Clause-Open-MPI
- fedora 43: lapack 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 43: lapack 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 44: lapack 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- fedora 44: lapack 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