ZSPR(3)
πΈ ZSPR(3) β like, the Library Functions Manual page for zspr.f π
okay bestie, so this is /home/abui.../SRC/zspr.f(3) from the Library Functions Manual β¨ and it's literally the whole glow-up of a little Fortran file. Buckle up, it's giving linear algebra but make it fashion π
π NAME
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zspr.f
that's it. that's the name. it's a whole path and she's owning it π
β¨ SYNOPSIS
Functions/Subroutines
subroutine ZSPR (uplo, n, alpha, x, incx, ap)β ZSPR performs the symmetrical rank-1 update of a complex symmetric packed matrix.
π¦ Function/Subroutine Documentation
subroutine ZSPR (character uplo, integer n, complex*16 alpha, complex*16, dimension( * ) x, integer incx, complex*16, dimension( * ) ap)
ZSPR performs the symmetrical rank-1 update of a complex symmetric packed matrix. no cap, that's what she does π
π Purpose:
!>
!> ZSPR performs the symmetric rank 1 operation
!>
!> A := alpha*x*x**H + A,
!>
!> where alpha is a complex scalar, x is an n element vector and A is an
!> n by n symmetric matrix, supplied in packed form.
!>
like, she takes your matrix A and your vector x and your scalar alpha and goes A := alpha*x*x**H + A. iconic behavior, honestly π₯
π 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.
!>
!> Unchanged on exit.
!>
so UPLO is a CHARACTER*1, right? and on entry she's the vibe check for which triangle of A you're handing over in AP:
UPLO = 'U'or'u'β the upper triangular part of A is supplied inAPβ¬οΈUPLO = 'L'or'l'β the lower triangular part of A is supplied inAPβ¬οΈ
unchanged on exit, she doesn't get modified π«Ά
N
!> N is INTEGER
!> On entry, N specifies the order of the matrix A.
!> N must be at least zero.
!> Unchanged on exit.
!>
N is an INTEGER, and on entry she specifies the order of the matrix A. N must be at least zero β like, zero is fine, negative is not it π unchanged on exit β¨
ALPHA
!> ALPHA is COMPLEX*16
!> On entry, ALPHA specifies the scalar alpha.
!> Unchanged on exit.
!>
ALPHA is COMPLEX*16 and on entry she's the scalar alpha, the main character of the operation π unchanged on exit π
X
!> X is COMPLEX*16 array, dimension at least
!> ( 1 + ( N - 1 )*abs( INCX ) ).
!> Before entry, the incremented array X must contain the N-
!> element vector x.
!> Unchanged on exit.
!>
X is a COMPLEX*16 array, dimension at least ( 1 + ( N - 1 )*abs( INCX ) ). before entry, the incremented array X must contain the N-element vector x. unchanged on exit, she's just here to be looked at π¦
INCX
!> INCX is INTEGER
!> On entry, INCX specifies the increment for the elements of
!> X. INCX must not be zero.
!> Unchanged on exit.
!>
INCX is an INTEGER. on entry, INCX specifies the increment for the elements of X. and listen β INCX must not be zero π like literally do not do that. unchanged on exit π
AP
!> AP is COMPLEX*16 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.
!> Note that the imaginary parts of the diagonal elements need
!> not be set, they are assumed to be zero, and on exit they
!> are set to zero.
!>
AP is a COMPLEX*16 array, dimension at least ( ( N*( N + 1 ) )/2 ). this is the packed girl, the star of the show β
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 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 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 πΈ
and bestie, note this: the imaginary parts of the diagonal elements need not be set, they are assumed to be zero, and on exit they are set to zero. so like, don't stress about them on the way in, but know that she zeroes them on the way out π
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
look at that lineup. the avengers of numerical computing fr fr π
π Definition at line 131 of file zspr.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code. so nobody hand-wrote this, she was born this way π§
aaaaand that's the whole page!! π cute little sign-off time: this is LAPACK, Version 3.12.0, and the file is /home/abui.../SRC/zspr.f(3). go forth and symmetrically rank-1 update responsibly, bestie π«Άβ¨π
π¦ 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