SLAVSP(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ’… SLAVSP(3) β€” the girlies' guide to slavsp.f

ok so first things first, the manual name is slavsp.f(3) and she lives in Library Functions Manual. Her full home address is literally:

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/slavsp.f

like she's got a whole government name, we love a documented queen πŸŽ€


✨ NAME ✨

SLAVSP β€” she's the one who does the matrix-vector multiply after SSPTRF has already done the factorization. bestie she is the follow-up act πŸ’…


🌸 SYNOPSIS 🌸

Functions/Subroutines

  • subroutine SLAVSP (uplo, trans, diag, n, nrhs, a, ipiv, b, ldb, info) β€” the short version, iykyk

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

subroutine SLAVSP (character uplo, character trans, character diag, integer n,
    integer nrhs, real, dimension( * ) a, integer, dimension( * ) ipiv,
    real, dimension( ldb, * ) b, integer ldb, integer info)

SLAVSP

πŸŽ€ Purpose πŸŽ€

!> !> SLAVSP performs one of the matrix-vector operations !> x := A*x or x := A'*x, !> where x is an N element vector and A is one of the factors !> from the block U*D*U' or L*D*L' factorization computed by SSPTRF. !> !> If TRANS = 'N', multiplies by U or U * D (or L or L * D) !> If TRANS = 'T', multiplies by U' or D * U' (or L' or D * L' ) !> If TRANS = 'C', multiplies by U' or D * U' (or L' or D * L' ) !>

translation bestie: you hand her the packed factor from SSPTRF, she multiplies your vector(s) by it. no cap, that's the whole vibe ✨


πŸ’– Parameters πŸ’–

  • UPLO β€” ohhh okay so UPLO is CHARACTER*1 and it specifies whether the factor stored in A is upper or lower triangular. pick your fighter:
    • = 'U': Upper triangular πŸ’«
    • = 'L': Lower triangular 🌊
!> UPLO is CHARACTER*1 !> Specifies whether the factor stored in A is upper or lower !> triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !>
  • TRANS β€” CHARACTER*1, specifies the operation to be performed. she's got three moods:
    • = 'N': x := A*x
    • = 'T': x := A'*x
    • = 'C': x := A'*x
!> TRANS is CHARACTER*1 !> Specifies the operation to be performed: !> = 'N': x := A*x !> = 'T': x := A'*x !> = 'C': x := A'*x !>
  • DIAG β€” CHARACTER*1, specifies whether or not the diagonal blocks are unit matrices. if the diagonal blocks are assumed to be unit, then A = U or A = L, otherwise A = U*D or A = L*D. iconic either way:
    • = 'U': Diagonal blocks are assumed to be unit matrices.
    • = 'N': Diagonal blocks are assumed to be non-unit matrices.
!> DIAG is CHARACTER*1 !> Specifies whether or not the diagonal blocks are unit !> matrices. If the diagonal blocks are assumed to be unit, !> then A = U or A = L, otherwise A = U*D or A = L*D. !> = 'U': Diagonal blocks are assumed to be unit matrices. !> = 'N': Diagonal blocks are assumed to be non-unit matrices. !>
  • N β€” INTEGER, the number of rows and columns of the matrix A. constraint: N >= 0. as she should 🫢
!> N is INTEGER !> The number of rows and columns of the matrix A. N >= 0. !>
  • NRHS β€” INTEGER, the number of right hand sides, i.e., the number of vectors x to be multiplied by A. constraint: NRHS >= 0. multiple besties, multiple vectors, we stan a multitasker 😭
!> NRHS is INTEGER !> The number of right hand sides, i.e., the number of vectors !> x to be multiplied by A. NRHS >= 0. !>
  • A β€” REAL array, dimension (N*(N+1)/2). it's the block diagonal matrix D and the multipliers used to obtain the factor U or L, stored as a packed triangular matrix as computed by SSPTRF. packed! she does not waste space, she is lowkey efficient like that πŸ”₯
!> A is REAL array, dimension (N*(N+1)/2) !> The block diagonal matrix D and the multipliers used to !> obtain the factor U or L, stored as a packed triangular !> matrix as computed by SSPTRF. !>
  • IPIV β€” INTEGER array, dimension (N). the pivot indices from SSPTRF. keep 'em, you'll need 'em.
!> IPIV is INTEGER array, dimension (N) !> The pivot indices from SSPTRF. !>
  • B β€” REAL array, dimension (LDB,NRHS). on entry, B contains NRHS vectors of length N. on exit, B is overwritten with the product A * B. πŸ’€ heads up bestie, she will eat your input, that's not a bug that's the design:
!> B is REAL array, dimension (LDB,NRHS) !> On entry, B contains NRHS vectors of length N. !> On exit, B is overwritten with the product A * B. !>
  • LDB β€” INTEGER, the leading dimension of the array B. constraint: LDB >= max(1,N). do not skip this one, she will notice πŸ™ˆ
!> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !>
  • INFO β€” INTEGER, the receipts:
    • = 0: successful exit ✨
    • < 0: if INFO = -k, the k-th argument had an illegal value πŸ‘€
!> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -k, the k-th argument had an illegal value !>

πŸ‘‘ Author πŸ‘‘

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.
Definition at line 128 of file slavsp.f.

🌈 Author (again, yes really) 🌈

Generated automatically by Doxygen for LAPACK from the source code. she's auto-generated and she's still main character energy, we love to see it πŸ’œ


πŸŽ€ ok that's the whole page, no notes. every flag documented, every constraint honored, periodt.

🌸 signed off with LAPACK, Version 3.12.0, and stamped from /home/abui...IN/slavsp.f(3) β€” mwah, go multiply something πŸ’‹

πŸ“¦ where this page comes from