BLAS/SRC/zher.f(3)

πŸ’… BLAS/SRC/zher.f β€” the Hermitian rank-1 glow-up page ✨

Hey bestie, welcome to the zher corner of the LAPACK docs 🫢. This page lives in the BLAS/SRC/zher.f file and it's literally all about one iconic little routine. Let's get into it.


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine zher (uplo, n, alpha, x, incx, a, lda) β€” the one and only ZHER, coming through πŸ’…

🌸 Function/Subroutine Documentation 🌸

πŸŽ€ subroutine zher (character uplo, integer n, double precision alpha, complex*16, dimension(*) x, integer incx, complex*16, dimension(lda,*) a, integer lda)

Yep, that's her. That's ZHER. Main character energy, no cap πŸ‘‘


πŸ’– Purpose πŸ’–

Okay so here's what she does:

!> ZHER   performs the hermitian rank 1 operation
!>
!>    A := alpha*x*x**H + A,
!>
!> where alpha is a real scalar, x is an n element vector and A is an
!> n by n hermitian matrix.

Translation, bestie: she does a Hermitian rank-1 update. alpha is a real scalar, x is an n-element vector, and A is an n by n Hermitian matrix. Slay πŸ¦‹.


🌈 Parameters 🌈

  • UPLO β€” this is CHARACTER*1. On entry, UPLO tells you which triangular part of the array A is actually being referenced, like:
    • UPLO = 'U' or 'u' β†’ only the upper triangular part of A is referenced.
    • UPLO = 'L' or 'l' β†’ only the lower triangular part of A is referenced.
  • N β€” this is INTEGER. On entry, N is the order of the matrix A. Important: N must be at least zero. Not optional, bestie.
  • ALPHA β€” this is DOUBLE PRECISION. On entry, ALPHA is the scalar alpha. Simple as that πŸ’œ.
  • X β€” this is a COMPLEX*16 array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the n element vector x.
  • INCX β€” this is INTEGER. On entry, INCX is the increment for the elements of X. And heads up: INCX must not be zero. Like, fr fr, don't do it πŸ™ˆ.
  • A β€” this is a COMPLEX*16 array, dimension ( LDA, N ). Okay this one has a lot going on, so let me break it down:
    • Before entry with 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. On exit, the upper triangular part of the array A gets overwritten by the upper triangular part of the updated matrix ✨.
    • Before entry with 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. On exit, the lower triangular part of the array A gets overwritten by the lower triangular part of the updated matrix ✨.
    • And a lil note: the imaginary parts of the diagonal elements need not be set β€” they're assumed to be zero, and on exit they are set to zero. So don't stress about them, she handles it 🫢.
  • LDA β€” this is INTEGER. On entry, LDA is the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ). Periodt.

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ”₯ Further Details: πŸ”₯

!>
!>  Level 2 Blas routine.
!>
!>  -- Written on 22-October-1986.
!>     Jack Dongarra, Argonne National Lab.
!>     Jeremy Du Croz, Nag Central Office.
!>     Sven Hammarling, Nag Central Office.
!>     Richard Hanson, Sandia National Labs.
!>

She's a Level 2 BLAS routine, born on 22-October-1986, and honestly that's iconic. The whole squad who wrote her: Jack Dongarra at Argonne National Lab, Jeremy Du Croz at Nag Central Office, Sven Hammarling at Nag Central Office, and Richard Hanson at Sandia National Labs 🌟.

Also, just so you know β€” she's defined at line 134 of file zher.f πŸ“.


🧚 Author (meta edition) 🧚

Generated automatically by Doxygen for LAPACK from the source code. Very demure, very mindful.


Okay that's the whole page, bestie! Stay hermitian, stay updated πŸ’–

LAPACK Β· Version 3.12.0 Β· BLAS/SRC/zher.f(3) β€” and that's the cute lil sign-off at the bottom, mwah πŸ’‹ πŸŽ€

πŸ“¦ where this page comes from