SRC/cla_syamv.f(3)
π SRC/cla_syamv.f β like, the whole manual, bestie
okay so this is a page from the LAPACK Library Functions Manual, and it's about one little subroutine that is genuinely so iconic. no cap. π
β¨ NAME β¨
SRC/cla_syamv.f β that's the file, that's the vibe. It's the home of cla_syamv, and she does exactly what the next section says she does. π¦
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine cla_syamv (uplo, n, alpha, a, lda, x, incx, beta, y, incy)
CLA_SYAMV computes a matrix-vector product using a symmetric indefinite matrix to calculate error bounds. π
π«Ά Function/Subroutine Documentation π«Ά
subroutine cla_syamv
subroutine cla_syamv (integer uplo, integer n, real alpha, complex,
dimension( lda, * ) a, integer lda, complex, dimension( * ) x, integer
incx, real beta, real, dimension( * ) y, integer incy)
okay so CLA_SYAMV computes a matrix-vector product using a symmetric indefinite matrix to calculate error bounds. literally her whole job. π
π₯ Purpose:
!>
!> CLA_SYAMV performs the matrix-vector operation
!>
!> y := alpha*abs(A)*abs(x) + beta*abs(y),
!>
!> where alpha and beta are scalars, x and y are vectors and A is an
!> n by n symmetric matrix.
!>
!> This function is primarily used in calculating error bounds.
!> To protect against underflow during evaluation, components in
!> the resulting vector are perturbed away from zero by (N+1)
!> times the underflow threshold. To prevent unnecessarily large
!> errors for block-structure embedded in general matrices,
!> zero components are not perturbed. A zero
!> entry is considered if all multiplications involved
!> in computing that entry have at least one zero multiplicand.
!>
so yes β she's out here computing y := alpha*abs(A)*abs(x) + beta*abs(y), where alpha and beta are scalars, x and y are vectors, and A is an n by n symmetric matrix. main character energy fr fr. π
and the deets: this function is primarily used in calculating error bounds. to protect against underflow during evaluation, components in the resulting vector get perturbed away from zero by (N+1) times the underflow threshold. but β and this matters β to prevent unnecessarily large errors for block-structure embedded in general matrices, zero components are not perturbed. a zero entry is considered if all multiplications involved in computing that entry have at least one zero multiplicand. periodt. π
π Parameters π
UPLOβUPLOisINTEGER. on entry,UPLOspecifies whether the upper or lower triangular part of the arrayAis to be referenced, as follows:UPLO = BLAS_UPPERβ only the upper triangular part ofAis to be referenced.UPLO = BLAS_LOWERβ only the lower triangular part ofAis to be referenced.
Unchanged on exit. β¨
NβNisINTEGER. on entry,Nspecifies the number of columns of the matrixA.Nmust be at least zero. Unchanged on exit. πΈALPHAβALPHAisREAL. on entry,ALPHAspecifies the scalar alpha. Unchanged on exit. πAβAisCOMPLEXarray, dimension( LDA, n ). before entry, the leadingmbynpart of the arrayAmust contain the matrix of coefficients. Unchanged on exit. π¦LDAβLDAisINTEGER. on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at leastmax( 1, n ). Unchanged on exit. πXβXisCOMPLEXarray, dimension( 1 + ( n - 1 )*abs( INCX ) ). before entry, the incremented arrayXmust contain the vectorx. Unchanged on exit. πINCXβINCXisINTEGER. on entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. Unchanged on exit. β οΈBETAβBETAisREAL. on entry,BETAspecifies the scalar beta. whenBETAis supplied as zero thenYneed not be set on input. Unchanged on exit. πYβYisREALarray, dimension( 1 + ( n - 1 )*abs( INCY ) ). before entry withBETAnon-zero, the incremented arrayYmust contain the vectory. on exit,Yis overwritten by the updated vectory. π₯INCYβINCYisINTEGER. on entry,INCYspecifies the increment for the elements ofY.INCYmust not be zero. Unchanged on exit. β οΈ
bestie pls do not pass a zero increment. like, just don't. π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
absolute legends, all of them. π«Ά
π 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.
!> -- Modified for the absolute-value product, April 2006
!> Jason Riedy, UC Berkeley
!>
so yeah β 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). then modified for the absolute-value product in April 2006 by Jason Riedy, UC Berkeley. the way this routine has history ππ
π Definition at line 177 of file cla_syamv.f.
β Author β
Generated automatically by Doxygen for LAPACK from the source code. (yes, a robot wrote this page, and she ate. π€β¨)
and that's the whole thing, bestie β no skips, no cuts, we read the entire page together π§π
LAPACK β Version 3.12.0 β SRC/cla_syamv.f(3) ππ
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms