CHER2(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’– CHER2 πŸ’–

okay so bestie, welcome to the cher2.f page from the Library Functions Manual β€” the whole path is literally /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/cher2.f and yes that's a mouthful, we're not unpacking that one πŸ’€


✨ NAME ✨

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/cher2.f β€” that's the file, that's the vibe, that's her πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

subroutine CHER2 (uplo, n, alpha, x, incx, y, incy, a, lda)
    CHER2

🌸 Function/Subroutine Documentation 🌸

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

CHER2 β€” she's the main character of this entire page, periodt πŸ‘‘

πŸ’œ Purpose

ngl this is THE moment:

!>
!> CHER2  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.
!>

so we're out here updating a hermitian matrix A with two rank-1-ish things at once, and one of them has a conjugate transpose. it's giving overachiever, and honestly? we love that for her ✨

πŸŽ€ Parameters

  • UPLO β€” UPLO is CHARACTER*1. on entry, UPLO tells you which triangular chunk of the array A we're actually looking at, 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 β€” N is INTEGER. on entry, N is the order of the matrix A. and N must be at least zero β€” like, no going negative, that's not the vibe bestie πŸ™ˆ
  • ALPHA β€” ALPHA is COMPLEX. on entry, ALPHA is the scalar alpha. that's it, that's the whole job 🫢
  • X β€” X is COMPLEX array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). before entry, the incremented array X has to contain the n-element vector x. feed her right, she performs 🌈
  • INCX β€” INCX is INTEGER. on entry, INCX is the increment for the elements of X. INCX must not be zero β€” fr fr, zero is not allowed, do not test her 😭
  • INCY β€” INCY is INTEGER. on entry, INCY is the increment for the elements of Y. and same rule: INCY must not be zero πŸ’€
  • Y β€” Y is COMPLEX array, dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). before entry, the incremented array Y must contain the n-element vector y. twin of X, equally important πŸ’–
  • A β€” A is COMPLEX array, dimension ( LDA, N ). okay this one's the whole essay so let's break it down:
    • before entry with UPLO = 'U' or 'u', the leading n by n upper triangular part of 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 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 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 A is overwritten by the lower triangular part of the updated matrix πŸ”₯
    • > heads up bestie: the imaginary parts of the diagonal elements don't need to be set β€” they're assumed to be zero, and on exit they get set to zero. so don't stress about them, she handles it 🧚
  • LDA β€” LDA 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 ) β€” that's the floor, no negotiating ⭐

πŸ‘‘ Author

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

look at that collab, iconic lineup honestly 🫢

πŸ”₯ 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.
!>

Level 2 BLAS routine, written way back on 22-October-1986 by Jack Dongarra (Argonne National Lab), Jeremy Du Croz (Nag Central Office), Sven Hammarling (Nag Central Office), and Richard Hanson (Sandia National Labs). literal legends, we stan πŸ’…βœ¨

Definition at line 149 of file cher2.f. β€” there she is, line 149, found her 🎯


πŸ’« Author

Generated automatically by Doxygen for LAPACK from the source code. no cap, a robot wrote this page and it ate πŸ€–πŸ’–


that's the whole page bestie, go forth and hermitian-rank-2 your heart out πŸŒˆπŸ¦‹ β€” with love from LAPACK, Version 3.12.0, signed off on /home/abui...SRC/cher2.f(3) πŸŽ€

πŸ“¦ where this page comes from