/home/abui...la_syamv.f(3)
π NAME π
okay so this is the Library Functions Manual page for /home/abui...la_syamv.f(3), and the actual file itβs documenting is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/sla_syamv.f
thatβs the whole NAME-section situation, bestie β SLA_SYAMV is the main character here. π
π¦ SYNOPSIS π¦
π§ Functions/Subroutines
subroutine SLA_SYAMV (uplo, n, alpha, a, lda, x, incx, beta, y, incy)β SLA_SYAMV computes a matrix-vector product using a symmetric indefinite matrix to calculate error bounds.
β¨ Function/Subroutine Documentation β¨
hereβs the full signature, copied exactly because we do not mess with Fortran names in this house:
subroutine SLA_SYAMV (integer uplo, integer n, real alpha, real, dimension(
lda, * ) a, integer lda, real, dimension( * ) x, integer incx, real
beta, real, dimension( * ) y, integer incy)
SLA_SYAMV computes a matrix-vector product using a symmetric indefinite matrix to calculate error bounds. no cap. π
πΈ Purpose πΈ
the mission statement is giving βmath but make it safe,β and the exact code-comment version is:
!>
!> SLA_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 yeah: it does y := alpha*abs(A)*abs(x) + beta*abs(y), itβs mainly for error bounds, and it has that whole underflow-protection / zero-component situation going on. iconic, honestly. πβ¨
π Parameters π
every parameter, no skipping, periodt. π«Ά
π«§ 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
AisREALarray, dimension( LDA, n )β before entry, the leadingm by npart of the arrayAmust contain the matrix of coefficients.- Unchanged on exit.
yes it says m by n in the original, and Iβm keeping it exactly like that β character for character, bestie. π«‘
π«§ 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
XisREALarray, 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.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Further Details π
the lore drop, exactly:
!>
!> 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 itβs a Level 2 Blas routine, written 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. history slay. π¦π
Definition at line 175 of file sla_syamv.f.
π§ Author π§
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, thatβs the whole page! π Sign-off: LAPACK Version 3.12.0, /home/abui...la_syamv.f(3) β and the footer date slot is blank on this copy, so Iβm not inventing one. date: not shown, no cap. ππ
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms