BLAS/SRC/dspr.f(3)

πŸ’– BLAS/SRC/dspr.f πŸ’–

okay bestie, welcome to BLAS/SRC/dspr.f β€” the LAPACK manual page for dspr, and yes she is serving symmetric rank-1 realness, no cap. sit down, grab a boba, we're doing math πŸ’…


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine dspr (uplo, n, alpha, x, incx, ap)
    DSPR

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine dspr (character uplo, integer n, double precision alpha, double
    precision, dimension(*) x, integer incx, double precision, dimension(*)
    ap)

DSPR</purpose> β€” that's literally her name, that's the whole vibe.

πŸŽ€ Purpose πŸŽ€

so DSPR performs the symmetric rank 1 operation, and the way it's written is:

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. she's doing the most with the least storage, iconic behavior fr fr 🌸


πŸ’œ Parameters πŸ’œ

  • UPLO β€” UPLO is CHARACTER*1. on entry, UPLO specifies whether the upper or lower triangular part of the matrix A is supplied in the packed array AP as follows:
    • UPLO = 'U' or 'u' β€” the upper triangular part of A is supplied in AP.
    • UPLO = 'L' or 'l' β€” the lower triangular part of A is supplied in AP.
  • N β€” N is INTEGER. on entry, N specifies the order of the matrix A. N must be at least zero. (zero is allowed bestie, she's not picky, she just won't have much to do ✨)
  • ALPHA β€” ALPHA is DOUBLE PRECISION. on entry, ALPHA specifies the scalar alpha. it's giving scaling factor energy πŸ‘‘
  • X β€” X is DOUBLE PRECISION array, dimension at least ( 1 + ( n - 1 )*abs( INCX ) ). before entry, the incremented array X must contain the n element vector x. yes the abs is doing real work there, respect her 🫢
  • INCX β€” INCX is INTEGER. on entry, INCX specifies the increment for the elements of X. INCX must not be zero. like, hard no, zero is not it πŸ’€
  • AP β€” AP is DOUBLE PRECISION array, dimension at least ( ( n*( n + 1 ) )/2 ).
    • before entry with UPLO = 'U' or 'u', the array AP must contain the upper triangular part of the symmetric matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 1, 2 ) and a( 2, 2 ) respectively, and so on. on exit, the array AP is overwritten by the upper triangular part of the updated matrix.
    • before entry with UPLO = 'L' or 'l', the array AP must contain the lower triangular part of the symmetric matrix packed sequentially, column by column, so that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1 ) and a( 3, 1 ) respectively, and so on. on exit, the array AP is overwritten by the lower triangular part of the updated matrix.
🚨 bestie listen β€” AP gets overwritten on exit. if you needed the original matrix, that's on you, she told you twice. no takebacks. 😭

🌈 Author 🌈

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

look at that group project actually getting finished, we love to see it πŸ₯Ή


⭐ 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.

the way this has been serving since 1986 and still hasn't missed... main character energy since before i was born fr πŸ’…


πŸ”₯ Definition πŸ”₯

Definition at line 126 of file dspr.f.


🌸 Author 🌸

Generated automatically by Doxygen for LAPACK from the source code. (yes bestie, a robot wrote the docs, but the math is 100% handcrafted πŸ’–)


and that's the whole page!! Version 3.12.0, dated Tue Nov 28 2023 12:08:41, from BLAS/SRC/dspr.f(3) β€” mwah, slay, periodt, go forth and pack your symmetric matrices responsibly πŸŽ€βœ¨πŸ¦‹