BLAS/SRC/chpr.f(3)

πŸ’– BLAS/SRC/chpr.f β€” the sacred text πŸ’–

okay bestie, so this page is literally the manual entry for BLAS/SRC/chpr.f β€” a whole little corner of the LAPACK world. it's a Fortran thing, it's a BLAS thing, it's iconic. let's get into it πŸŽ€


✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines

subroutine chpr (uplo, n, alpha, x, incx, ap)

CHPR β€” that's her. that's the one. πŸ’…


🌸 Function/Subroutine Documentation 🌸

subroutine chpr (character uplo, integer n, real alpha, complex,
    dimension(*) x, integer incx, complex, dimension(*) ap)

CHPR

πŸŽ€ Purpose πŸŽ€

okay so here's the whole vibe, fr fr:

!> CHPR    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, supplied in packed form.

so it takes a hermitian matrix A, all packed up, and does a rank-1 update on it. alpha is a real scalar (yes, real, even though everything else is complex β€” that's the whole point of hermitian, iykyk), x is your n-element vector, and A is n by n, packed. slay. πŸ’œ


🫢 Parameters 🫢

  • UPLO β€” CHARACTER*1. on entry, UPLO tells us whether the upper or lower triangular part of A is the one living in the packed array AP:
    • UPLO = 'U' or 'u' β†’ the upper triangular part of A is supplied in AP. πŸ‘‘
    • UPLO = 'L' or 'l' β†’ the lower triangular part of A is supplied in AP. 🌈
  • N β€” INTEGER. on entry, N specifies the order of the matrix A. N must be at least zero. no negative nonsense, okay? ⭐
  • ALPHA β€” REAL. on entry, ALPHA specifies the scalar alpha. that's it, that's the whole thing. πŸ“
  • X β€” COMPLEX array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). before entry, the incremented array X must contain the n element vector x. πŸ’–
  • INCX β€” INTEGER. on entry, INCX specifies the increment for the elements of X. INCX must not be zero. like, genuinely, don't. 🚨
  • AP β€” COMPLEX array, dimension at least ( ( n*( n + 1 ) )/2 ). ok this one's got lore, so buckle up:
    • before entry with UPLO = 'U' or 'u', the array AP must contain the upper triangular part of the hermitian matrix, packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 ) respectively, and so on. on exit, the array AP is overwritten by the upper triangular part of the updated matrix. πŸ”₯
    • before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular part of the hermitian matrix, packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 ) respectively, and so on. on exit, the array AP 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're assumed to be zero, and on exit they are set to zero. so don't stress about them going in, but know they get zeroed coming out. πŸ™ˆ

πŸ’… Author πŸ’…

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

the whole squad, honestly. academic royalty. πŸ‘‘


🌟 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 22-October-1986 β€” literal vintage, older than everyone reading this, and still out here doing hermitian rank-1 updates. main character energy since the Reagan administration, no cap. πŸ•°οΈβœ¨


πŸ“ Definition πŸ“

Definition at line 129 of file chpr.f. go look, she's right there. 🧚


🌈 Author (the meta one) 🌈

Generated automatically by Doxygen for LAPACK from the source code. not a human, just a very diligent little robot doing her thing. πŸ€–πŸ’–


a gentle reminder bestie: INCX must not be zero, and N must be at least zero. those aren't suggestions, they're the vibe check. πŸ’€

and that's the page!! πŸŽ‰ brought to you by LAPACK, Version 3.12.0 β€” this exact BLAS/SRC/chpr.f(3) manual entry, straight from the source, mwah. go forth and pack your triangular matrices correctly, ily πŸ«ΆπŸ’–πŸŒΈ

πŸ“¦ where this page comes from