BLAS/SRC/chemm.f(3)

πŸ’– NAME πŸ’–

BLAS/SRC/chemm.f β€” bestie, this is the home of CHEMM, the Level 3 BLAS queen who does hermitian matrix-matrix multiplication and does it flawlessly. πŸ‘‘


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine chemm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc) β€” CHEMM, that's her, that's the icon.

πŸ¦‹ Function/Subroutine 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)

okay so this is CHEMM and she is that girl. πŸ’…

πŸŽ€ Purpose:

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.

literally she's multiplying a hermitian matrix into the mix and updating C in place. no cap.

🌸 Parameters 🌸

  • SIDE

SIDE is CHARACTER*1

On entry, SIDE specifies whether the hermitian matrix A appears 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, UPLO specifies whether the upper or lower triangular part of the hermitian matrix A is 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.
  • M

M is INTEGER

On entry, M specifies the number of rows 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 C. N must be at least zero.

  • ALPHA

ALPHA is COMPLEX

On entry, ALPHA specifies the scalar alpha.

  • A

A is COMPLEX array, dimension ( LDA, ka ), where ka is m when SIDE = '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. 🫢 like don't even worry about them, she already knows.
  • LDA

LDA is INTEGER

On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. When SIDE = 'L' or 'l' then LDA must be at least max( 1, m ), otherwise LDA must be at least max( 1, n ).

  • B

B is COMPLEX array, dimension ( LDB, N )

Before entry, the leading m by n 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. LDB must be at least max( 1, m ).

  • BETA

BETA is COMPLEX

On entry, BETA specifies the scalar beta. When BETA is supplied as zero then C need not be set on input. πŸ™ˆ

  • C

C is COMPLEX 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 updated matrix.

  • 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 190 of file chemm.f.


🌈 Author

Generated automatically by Doxygen for LAPACK from the source code.


okay bestie that's the whole page, every last detail, nothing skipped, we ate and left no crumbs πŸ’…βœ¨

Version 3.12.0 β€” Tue Nov 28 2023 12:08:41 β€” that's the BLAS/SRC/chemm.f(3) energy, mwah πŸŽ€πŸ’–πŸ¦‹ stay hermitian, stay iconic, periodt. 🌸🫢