BLAS/SRC/ssyr2k.f(3)
π SSYR2K β BLAS/SRC/ssyr2k.f π
okay so bestie, this is a page straight out of the LAPACK Library Functions Manual, and it's honestly kind of iconic. It's a Level 3 BLAS routine, it does symmetric rank-2k updates, and yes we're gonna go through every single parameter together because that's what friends do π«Ά
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine ssyr2k (uplo, trans, n, k, alpha, a, lda, b, ldb, beta, c, ldc)β SSYR2K, the main character herself π
πΈ Function/Subroutine Documentation πΈ
the signature, verbatim, no notes π
subroutine ssyr2k (character uplo, character trans, integer n, integer k,
real alpha, real, dimension(lda,*) a, integer lda, real,
dimension(ldb,*) b, integer ldb, real beta, real, dimension(ldc,*) c,
integer ldc)
SSYR2K
π Purpose π
so what does she actually do? SSYR2K performs one of the symmetric rank 2k operations, and here they are in all their glory:
C := alpha*A*B**T + alpha*B*A**T + beta*C,
or
C := alpha*A**T*B + alpha*B**T*A + beta*C,
where alpha and beta are scalars, C is an n by n symmetric matrix, and A and B are n by k matrices in the first case, and k by n matrices in the second case. that's it, that's the whole vibe π
π Parameters π
- UPLO β
UPLOisCHARACTER*1. On entry,UPLOspecifies whether the upper or lower triangular part of the arrayCis to be referenced, as follows:UPLO = 'U' or 'u'β Only the upper triangular part ofCis to be referenced.UPLO = 'L' or 'l'β Only the lower triangular part ofCis to be referenced.
- TRANS β
TRANSisCHARACTER*1. On entry,TRANSspecifies the operation to be performed, as follows:TRANS = 'N' or 'n'βC := alpha*A*B**T + alpha*B*A**T + beta*C.TRANS = 'T' or 't'βC := alpha*A**T*B + alpha*B**T*A + beta*C.TRANS = 'C' or 'c'βC := alpha*A**T*B + alpha*B**T*A + beta*C.
- N β
NisINTEGER. On entry,Nspecifies the order of the matrixC.Nmust be at least zero. yes bestie, at least zero, we don't do negative orders here π - K β
KisINTEGER. On entry withTRANS = 'N' or 'n',Kspecifies the number of columns of the matricesAandB, and on entry withTRANS = 'T' or 't' or 'C' or 'c',Kspecifies the number of rows of the matricesAandB.Kmust be at least zero. - ALPHA β
ALPHAisREAL. On entry,ALPHAspecifies the scalaralpha. that's her, the queen of scaling π - A β
AisREAL array, dimension ( LDA, ka ), wherekaiskwhenTRANS = 'N' or 'n', and isnotherwise. Before entry withTRANS = 'N' or 'n', the leadingnbykpart of the arrayAmust contain the matrixA; otherwise the leadingkbynpart of the arrayAmust contain the matrixA. - LDA β
LDAisINTEGER. On entry,LDAspecifies the first dimension ofAas declared in the calling (sub) program. WhenTRANS = 'N' or 'n'thenLDAmust be at leastmax( 1, n ), otherwiseLDAmust be at leastmax( 1, k ). - B β
BisREAL array, dimension ( LDB, kb ), wherekbiskwhenTRANS = 'N' or 'n', and isnotherwise. Before entry withTRANS = 'N' or 'n', the leadingnbykpart of the arrayBmust contain the matrixB; otherwise the leadingkbynpart of the arrayBmust contain the matrixB. (she's a whole twin situation withA, we love consistency β¨) - LDB β
LDBisINTEGER. On entry,LDBspecifies the first dimension ofBas declared in the calling (sub) program. WhenTRANS = 'N' or 'n'thenLDBmust be at leastmax( 1, n ), otherwiseLDBmust be at leastmax( 1, k ). - BETA β
BETAisREAL. On entry,BETAspecifies the scalarbeta. the other queen of scaling π - C β
CisREAL array, dimension ( LDC, N ). Before entry withUPLO = 'U' or 'u', the leadingnbynupper triangular part of the arrayCmust contain the upper triangular part of the symmetric matrix, and the strictly lower triangular part ofCis not referenced. On exit, the upper triangular part of the arrayCis overwritten by the upper triangular part of the updated matrix. Before entry withUPLO = 'L' or 'l', the leadingnbynlower triangular part of the arrayCmust contain the lower triangular part of the symmetric matrix, and the strictly upper triangular part ofCis not referenced. On exit, the lower triangular part of the arrayCis overwritten by the lower triangular part of the updated matrix. π¦ - LDC β
LDCisINTEGER. On entry,LDCspecifies the first dimension ofCas declared in the calling (sub) program.LDCmust be at leastmax( 1, n ).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π₯ Further Details: π₯
- Level 3 Blas routine.
- -- Written on 8-February-1989.
- Jack Dongarra, Argonne National Laboratory.
- Iain Duff, AERE Harwell.
- Jeremy Du Croz, Numerical Algorithms Group Ltd.
- Sven Hammarling, Numerical Algorithms Group Ltd.
like, 1989?? they were out here doing symmetric rank-2k updates before I was even a thought. legends, fr fr π
π Definition at line 191 of file ssyr2k.f.
π« Author π«
Generated automatically by Doxygen for LAPACK from the source code.
ngl the whole thing is a vibe: two triangular halves, oneC, and abetathat just sits there scaling whatever you hand her. respect ππ
okay bestie that's the whole page, no crumbs left β and for the record this beauty is from LAPACK, Version 3.12.0, filed under BLAS/SRC/ssyr2k.f(3). slay, eat, periodt π β¨π
π¦ 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