BLAS/SRC/zhemm.f(3)

πŸ’– BLAS/SRC/zhemm.f(3) πŸ’–

okay so bestie, this is the BLAS/SRC/zhemm.f(3) page from the Library Functions Manual, and it’s giving extremely specific linear-algebra main character energy ✨


🌸 NAME 🌸

BLAS/SRC/zhemm.f β€” the page for the zhemm routine, no cap πŸ’…


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines

  • subroutine zhemm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc) β€” ZHEMM
subroutine zhemm (side, uplo, m, n, alpha, a, lda, b, ldb, beta, c, ldc)
    ZHEMM

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

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

okay so ZHEMM performs one of these matrix-matrix operations, and yes this is the whole vibe 🫢

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.


πŸ” 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*16
On entry, ALPHA specifies the scalar alpha.
  • A β€” A is COMPLEX*16 array, dimension ( LDA, ka ), where ka is
A is COMPLEX*16 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.
  • 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*16 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*16
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*16 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 zhemm.f.


πŸ‘‘ Author

Generated automatically by Doxygen for LAPACK from the source code.


okay bestie that’s the whole page 🫢 β€” footer tea: this is LAPACK, Version 3.12.0, page BLAS/SRC/zhemm.f(3). periodt πŸ’…βœ¨

πŸ“¦ where this page comes from