BLAS/SRC/dspr2.f(3)

πŸ’– BLAS/SRC/dspr2.f β€” bestie edition πŸ’–

okay so this is a page from the LAPACK manual, specifically the BLAS file BLAS/SRC/dspr2.f, and honestly? it's giving math baddie. let's get into it 🫢


✨ NAME ✨

BLAS/SRC/dspr2.f β€” no cap, that's the whole name, she's just a file living her life


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine dspr2 (uplo, n, alpha, x, incx, y, incy, ap) β€” the icon herself, DSPR2

πŸŽ€ Function/Subroutine Documentation πŸŽ€

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

DSPR2 ✨

πŸ’« Purpose:

DSPR2 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, supplied in packed form. periodt πŸ’…


πŸ‘‘ 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. (yes bestie, zero is allowed, we love a flexible queen 🌈)

  • ALPHA

ALPHA is DOUBLE PRECISION. On entry, ALPHA specifies the scalar alpha. the moment of all moments ✨

  • 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. 🚫 zero is NOT the vibe here

  • Y

Y is DOUBLE PRECISION array, dimension at least ( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented array Y must contain the n element vector y. 🌸

  • INCY

INCY is INTEGER. On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. again: zero is not invited to this party πŸ’€

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

ngl bestie, AP gets overwritten on exit β€” she does not come back the same girl she was. 🫠

πŸ’œ Author

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

(the academic 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.

literally 1986?? the vintage of it all, we stan a timeless classic πŸŽ€


⭐ Definition at line 141 of file dspr2.f.


🧚 Author (yes, again)

Generated automatically by Doxygen for LAPACK from the source code. it wrote itself, main character energy fr fr πŸ™ˆ


and that's the whole page bestie!! this was Version 3.12.0, dated Tue Nov 28 2023 12:08:41, from BLAS/SRC/dspr2.f(3) πŸ’– go forth and rank-2-update your symmetric packed matrices, you absolute legend πŸ’…βœ¨πŸ¦‹