BLAS/SRC/ssyr2.f(3)
π NAME π
okay bestie, so this is BLAS/SRC/ssyr2.f β a lil page from the LAPACK manual (yes, that LAPACK, the linear algebra icon π) and it's all about one very specific little Fortran subroutine. no cap, it does exactly one thing and it does it gorgeously. β¨
πΈ SYNOPSIS πΈ
β¨ Functions/Subroutines β¨
subroutine ssyr2 (uplo, n, alpha, x, incx, y, incy, a, lda)β SSYR2 π«Ά
π¦ Function/Subroutine Documentation π¦
subroutine ssyr2 (character uplo, integer n, real alpha, real, dimension(*)
x, integer incx, real, dimension(*) y, integer incy, real,
dimension(lda,*) a, integer lda)
SSYR2 π
π Purpose π
okay so here's the whole vibe: SSYR2 performs the symmetric rank 2 operation
A := alpha*x*y**T + alpha*y*x**T + A,
where alpha is a scalar, x and y are n element vectors and A is an n by n symmetric matrix. literally that's it, that's the whole job, and it ate. π
π Parameters π
UPLOβUPLOisCHARACTER*1. on entry,UPLOspecifies whether the upper or lower triangular part of the arrayAis to be referenced, as follows:
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.
NβNisINTEGER. on entry,Nspecifies the order of the matrixA.Nmust be at least zero. (zero is allowed bestie, it's giving "empty but valid" πβ¨)ALPHAβALPHAisREAL. on entry,ALPHAspecifies the scalaralpha. it's the lil multiplier, the main character of the arithmetic πXβXisREALarray, dimension at least( 1 + ( n - 1 )*abs( INCX ) ). before entry, the incremented arrayXmust contain thenelement vectorx. π¦INCXβINCXisINTEGER. on entry,INCXspecifies the increment for the elements ofX.INCXmust not be zero. fr fr, zero is not the move.YβYisREALarray, dimension at least( 1 + ( n - 1 )*abs( INCY ) ). before entry, the incremented arrayYmust contain thenelement vectory. πINCYβINCYisINTEGER. on entry,INCYspecifies the increment for the elements ofY.INCYmust not be zero. same energy, don't do it.AβAisREALarray, dimension( LDA, N ). before entry withUPLO = 'U'or'u', the leadingnbynupper triangular part of the arrayAmust contain the upper triangular part of the symmetric matrix and the strictly lower triangular part ofAis not referenced. on exit, the upper triangular part of the arrayAis overwritten by the upper triangular part of the updated matrix. before entry withUPLO = 'L'or'l', the leadingnbynlower triangular part of the arrayAmust contain the lower triangular part of the symmetric matrix and the strictly upper triangular part ofAis not referenced. on exit, the lower triangular part of the arrayAis overwritten by the lower triangular part of the updated matrix. π (tl;dr: the half you told it about gets updated in place, the other half is simply not invited to the party π)LDAβLDAisINTEGER. on entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program.LDAmust be at leastmax( 1, n ). periodt.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
(an absolute dream team, no notes π«Ά)
β 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.
like, 1986?? the longevity, the legacy, the iconic behaviour ππ
Definition at line 146 of file ssyr2.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (not me writing this by hand, the robots did it, and honestly? slay π€β¨)
okay that's the whole page bestie!! this was Version 3.12.0, dated Tue Nov 28 2023 12:08:41, from BLAS/SRC/ssyr2.f(3) β go forth and rank-2-update your symmetric matrices responsibly, mwah πππ¦
π¦ where this page comes from
- centos-stream 10: blas 3.12.0-7.el10 Β· BSD-3-Clause-Open-MPI
- fedora 43: blas 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 43: blas 3.12.0-10.fc43 Β· BSD-3-Clause-Open-MPI
- fedora 44: blas 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- fedora 44: blas 3.12.0-11.fc44 Β· BSD-3-Clause-Open-MPI
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms