BLAS/SRC/dspr.f(3)

πŸ’… BLAS/SRC/dspr.f(3) β€” Library Functions Manual πŸŽ€

okay bestie, buckle up β€” this is the man page for BLAS/SRC/dspr.f, straight out of the Library Functions Manual, and honestly? she's iconic. let's get into it ✨


🌸 NAME 🌸

BLAS/SRC/dspr.f β€” that's the file, that's the vibe, that's the whole name πŸ’–


✨ SYNOPSIS ✨

πŸ¦‹ Functions/Subroutines

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

DSPR β€” literally the main character of this page πŸ‘‘


🧚 Function/Subroutine Documentation 🧚

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

DSPR

πŸ’œ 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 she does a symmetric rank 1 operation, no cap πŸ’… the formula is right there: 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. slay.


πŸŽ€ Parameters πŸŽ€

  • UPLO β€” UPLO is CHARACTER*1. on entry, UPLO tells you whether the upper or lower triangular part of the matrix A is supplied in the packed array AP, like this:
    • 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 gonna judge 🫢)
  • ALPHA β€” ALPHA is DOUBLE PRECISION. on entry, ALPHA specifies the scalar alpha. 🌟
  • 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. πŸ’–
  • INCX β€” INCX is INTEGER. on entry, INCX specifies the increment for the elements of X. INCX must not be zero. ⚠️ like, genuinely not zero. don't do 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. πŸ”₯

🌈 Author 🌈

the legends themselves, fr fr:

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

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

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). vintage ✨ we stan an old-school icon.


πŸ“ Definition πŸ“

definition at line 126 of file dspr.f πŸ“


🫢 Author 🫢

generated automatically by Doxygen for LAPACK from the source code. not a human, but she still ate πŸ’…

ngl bestie, if you're passing INCX = 0 that's on you β€” the page literally says it must not be zero πŸ™ˆ

LAPACK β€” Version 3.12.0 β€” BLAS/SRC/dspr.f(3)

and that's the whole page, bestie β€” mwah, go forth and pack those triangular arrays πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«ΆπŸ˜­πŸ”₯πŸ‘‘πŸŒˆβ­πŸ’€πŸ™ˆπŸ“πŸ§šπŸ’œ

πŸ“¦ where this page comes from