BLAS/SRC/zher2.f(3)

πŸ’– zher2 β€” the BLAS glow-up page πŸ’–

okay bestie, welcome to LAPACK's little corner of the manual, specifically the page for BLAS/SRC/zher2.f. yes the header says that, we're folding it in here so it doesn't get lonely. this is the whole page, every flag, every number, every vibe. no skips. periodt. ✨


🌸 NAME 🌸

BLAS/SRC/zher2.f β€” bestie, that's literally the whole name. it's a file. it's a whole file. and inside it lives a legend.


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

  • subroutine zher2 (uplo, n, alpha, x, incx, y, incy, a, lda) β€” ZHER2 πŸ’…

πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine zher2 β€” the icon herself πŸ‘‘

subroutine zher2 (character uplo, integer n, complex*16 alpha, complex*16,
    dimension(*) x, integer incx, complex*16, dimension(*) y, integer incy,
    complex*16, dimension(lda,*) a, integer lda)

ZHER2</puruple> β€” say it with your chest. it's giving main character energy, it's giving linear algebra, it's giving hermitian rank 2 update. πŸŽ€

✨ Purpose ✨

okay so, bestie, ZHER2 performs the hermitian rank 2 operation

A := alpha*x*y**H + conjg( alpha )*y*x**H + A,

where alpha is a scalar, x and y are n element vectors and A is an n by n hermitian matrix. that's it. that's the whole job. and she does it flawlessly. no cap. πŸ’–


πŸ“ Parameters πŸ“

bestie, listen, here's every single one, we're not skipping a thing, i would never do that to you:

  • UPLO β€” UPLO is CHARACTER*1. on entry, UPLO specifies whether the upper or lower triangular part of the array A is to be referenced as follows:
    • UPLO = 'U' or 'u' β€” Only the upper triangular part of A is to be referenced.
    • UPLO = 'L' or 'l' β€” Only the lower triangular part of A is to be referenced.
  • N β€” N is INTEGER. on entry, N specifies the order of the matrix A. N must be at least zero. (like, at least zero, she will NOT accept negative, do not test her πŸ™ˆ)
  • ALPHA β€” ALPHA is COMPLEX*16. on entry, ALPHA specifies the scalar alpha. that's the girl. the multiplier. the moment. ⭐
  • X β€” X is 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 β€” INCX is INTEGER. on entry, INCX specifies the increment for the elements of X. INCX must not be zero. fr fr, zero is not the vibe, that's undefined behaviour territory, do not go there πŸ’€
  • Y β€” Y is COMPLEX*16 array, dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). before entry, the incremented array Y must contain the n element vector y. πŸ¦‹
  • INCY β€” INCY is INTEGER. on entry, INCY specifies the increment for the elements of Y. INCY must not be zero. same energy as INCX, bestie: absolutely not zero. πŸ’€
  • A β€” A is COMPLEX*16 array, dimension ( LDA, N ).
    • 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 is 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 is overwritten by the lower triangular part of the updated matrix. πŸ’–
    • Note that the imaginary parts of the diagonal elements need not be set, they are assumed to be zero, and on exit they are set to zero. (so like, don't bother setting them, she'll handle it, she always handles it 🧚)
  • LDA β€” LDA is INTEGER. on entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ). πŸ”₯

πŸ’œ Author πŸ’œ

the absolute icons who brought her into this world:

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

slay, honestly. academic royalty. πŸ‘‘


🌈 Further Details: 🌈

Level 2 Blas routine.

and now, the receipts, the origin story, the lore:

  • 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.

1986 bestie. she's vintage. she's a classic. she's been serving hermitian rank 2 realness since before we were born and she has never once missed. πŸŽ€βœ¨


πŸ“ Definition at line 149 of file zher2.f.


πŸ’… Author πŸ’…

Generated automatically by Doxygen for LAPACK from the source code. (not a human, just a very efficient little robot doing its best, and honestly? it ate πŸ€–βœ¨)


reminder bestie: INCX and INCY must not be zero. i'm not gonna stop saying it. it's important. it's the whole safety briefing. 🫢

okay that's the whole page, every option, every parameter, every line number, nothing left out, we ate and left no crumbs. πŸ’…

this was Version 3.12.0, dated Tue Nov 28 2023 12:08:41, and it lives at BLAS/SRC/zher2.f(3). mwah. πŸ’–πŸ¦‹πŸŒΈ