SRC/csyr.f(3)

πŸ’… SRC/csyr.f β€” like, the whole page, bestie

So this is a Library Functions Manual page for SRC/csyr.f, and honestly? It's giving "small file, big main character energy." Sit down, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

SRC/csyr.f β€” bestie, that's the whole name. Short, sweet, iconic. Periodt.


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine csyr (uplo, n, alpha, x, incx, a, lda) β€” CSYR performs the symmetric rank-1 update of a complex symmetric matrix. That's it, that's the whole vibe check.

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

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

CSYR performs the symmetric rank-1 update of a complex symmetric matrix. No cap, that's literally what it does πŸ’–

πŸ‘‘ Purpose:

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

So like β€” it takes your matrix A and does this whole A := alpha*x*x**H + A glow-up on it. ✨ Obsessed.


πŸŽ€ Parameters πŸŽ€

Okay here come the parameters, and yes we're doing all of them, don't skip, that's not the vibe πŸ™ˆ

  • UPLO β€” UPLO is CHARACTER*1. On entry, UPLO tells you whether the upper or lower triangular part of the array A is gonna be referenced, like so:
    • 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 πŸ’œ

Unchanged on exit. She stays the same, always.

  • N β€” N is INTEGER. On entry, N specifies the order of the matrix A. N must be at least zero. Unchanged on exit. Respect the zero, bestie, it's the floor 😌
  • ALPHA β€” ALPHA is COMPLEX. On entry, ALPHA specifies the scalar alpha. Unchanged on exit. She's the multiplier of the group chat, lowkey the moment.
  • 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. Unchanged on exit. Calculator said ( 1 + ( N - 1 )*abs( INCX ) ) and she's not wrong πŸ’…
  • INCX β€” INCX is INTEGER. On entry, INCX specifies the increment for the elements of X. INCX must not be zero. 🚨 Like, fr fr, it cannot be zero. Unchanged on exit.
  • A β€” A is COMPLEX array, dimension ( LDA, N ). Here's the tea, and it depends on your UPLO:
    • With UPLO = 'U' or 'u': before entry, the leading n by n upper triangular part of the array A must contain the upper triangular part of the symmetric 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.
    • With UPLO = 'L' or 'l': before entry, the leading n by n lower triangular part of the array A must contain the lower triangular part of the symmetric 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.

Overwritten!! 😭 She gets a whole new look on exit and we love that for her.

  • 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 ). Unchanged on exit. Not max( 0, N ), bestie β€” it's max( 1, N ), write it down. 🫢

πŸ’œ Author πŸ’œ

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

A whole squad. Group project that actually ate. πŸ”₯

Definition at line 134 of file csyr.f.


⭐ Author (yes, another one) ⭐

Generated automatically by Doxygen for LAPACK from the source code. Not me writing my own page β€” a robot did the honors. πŸ€–βœ¨


Heads up: this file was auto-generated, so if you're out here editing it by hand, that update's not gonna stick. iykyk.

🌈 Okay so that's the whole page! Cute little sign-off: this is LAPACK, Version 3.12.0, and the page itself is SRC/csyr.f(3). Go forth and do your symmetric rank-1 updates responsibly, bestie πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from