BLAS/SRC/cher.f(3)

πŸ’– NAME πŸ’–

BLAS/SRC/cher.f β€” bestie, this is the LAPACK BLAS routine that does a hermitian rank-1 update, and yes she eats every single time πŸ’…


✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine cher (uplo, n, alpha, x, incx, a, lda) β€” aka CHER, the main character πŸ‘‘

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

subroutine cher (character uplo, integer n, real alpha, complex, dimension(*) x, integer incx, complex, dimension(lda,*) a, integer lda)

okay so this is CHER and she is that girl, no cap 🌸

πŸŽ€ Purpose:

CHER 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. literally iconic math, she said "let me update your matrix for you bestie" πŸ’œ


🌈 Parameters

  • 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. (bestie, negative N is not the vibe 🚫)
  • ALPHA β€” ALPHA is REAL. On entry, ALPHA specifies the scalar alpha.
  • X β€” X is COMPLEX 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. zero? absolutely not, we don't do that here πŸ™…β€β™€οΈ
  • A β€” A is COMPLEX 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 if you set them, she's just gonna zero them anyway, don't bother bestie 😭)
  • 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

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

ngl, the 1986 squad really said "we're gonna write BLAS and change everything" and they ATE πŸ”₯


⭐ Definition at line 134 of file cher.f.


πŸ’œ Author

Generated automatically by Doxygen for LAPACK from the source code.


and that's the whole page bestie 🫢 this was LAPACK Version 3.12.0, generated Tue Nov 28 2023 12:08:41, straight from BLAS/SRC/cher.f(3). go update your hermitian matrices, ily, bye πŸ’–βœ¨πŸŽ€