/home/abui...SRC/dspr.f(3)
π NAME
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/dspr.f β bestie, that's the whole path, yes, it's giving "why is this so long," but it's literally the file this page is about, so we keep it. β¨
(This one lives in the Library Functions Manual, iykyk.)
β¨ SYNOPSIS β¨
π§ Functions/Subroutines
subroutine DSPR (uplo, n, alpha, x, incx, ap)
DSPR
Ok so it's one subroutine, DSPR, and it's literally just called DSPR. No notes. π
πΈ Function/Subroutine Documentation πΈ
β subroutine DSPR
subroutine DSPR (character uplo, integer n, double precision alpha, double
precision, dimension(*) x, integer incx, double precision, dimension(*)
ap)
DSPR
Yeah that's the full signature, every type right where it belongs. π
π₯ Purpose:
!>
!> DSPR performs the symmetric rank 1 operation
!>
!> A := alpha*x*x**T + A,
!>
!> where alpha is a real scalar, x is an n element vector and A is an
!> n by n symmetric matrix, supplied in packed form.
!>
So basically: it does a symmetric rank 1 update, no cap. You hand it a scalar alpha, a vector x, and a symmetric matrix A that's stored in packed form, and it gives you back A := alpha*x*x**T + A. That's the whole vibe. π
π¦ Parameters
UPLOβ okay soUPLOisCHARACTER*1, right, and on entry it tells us whether the upper or lower triangular part ofAis the part being supplied in the packed arrayAP. It goes like this:UPLO = 'U' or 'u'β the upper triangular part ofAis supplied inAP.UPLO = 'L' or 'l'β the lower triangular part ofAis supplied inAP.
NβNisINTEGER, and on entry it specifies the order of the matrixA. Big rule:Nmust be at least zero. Not negative. Zero is fine, negative is not the move. πALPHAβALPHAisDOUBLE PRECISION. On entry it specifies the scalaralpha. That's it, that's the whole job. πΈXβXis aDOUBLE PRECISIONarray, dimension at least( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented arrayXmust contain thenelement vectorx. Don't forget the increment math, it's lowkey the part people mess up. πINCXβINCXisINTEGER. On entry it specifies the increment for the elements ofX. And listen:INCXmust not be zero. Fr fr, not zero. That's a hard no. πAPβAPis aDOUBLE PRECISIONarray, dimension at least( ( n*( n + 1 ) )/2 ). This is the packed one, so pay attention bestie:- Before entry with
UPLO = 'U' or 'u', the arrayAPmust contain the upper triangular part of the symmetric matrix packed sequentially, column by column, so thatAP( 1 )containsa( 1, 1 ),AP( 2 )andAP( 3 )containa( 1, 2 )anda( 2, 2 )respectively, and so on. On exit, the arrayAPis overwritten by the upper triangular part of the updated matrix. - Before entry with
UPLO = 'L' or 'l', the arrayAPmust contain the lower triangular part of the symmetric matrix packed sequentially, column by column, so thatAP( 1 )containsa( 1, 1 ),AP( 2 )andAP( 3 )containa( 2, 1 )anda( 3, 1 )respectively, and so on. On exit, the arrayAPis overwritten by the lower triangular part of the updated matrix.
- Before entry with
Yeah, AP gets overwritten on exit. That's the deal. β¨
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Shoutout to all four, absolute icons. π«Ά
π 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.
!>
It's a Level 2 Blas routine, and it was 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). 1986!! Ancient icon behavior, honestly. π°οΈπ
π btw, this is Definition at line 126 of file dspr.f β just so you know exactly where to point.
π« Author
Generated automatically by Doxygen for LAPACK from the source code. (Not a human, just a robot doing its little thing. Slay.)
so yeah, that's the whole page β from the LAPACK, Version 3.12.0 era, the /home/abui...SRC/dspr.f(3) file, dated by its own footer. mwah πβ¨
π¦ 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