TESTING/LIN/zlavhp.f(3)

πŸ“¦
version 3.12.1 Β· 3 versions
, in arch rolling

πŸ’– TESTING/LIN/zlavhp.f πŸ’–

okay so bestie, welcome to TESTING/LIN/zlavhp.f(3) β€” yes that's her full name, she lives in the LAPACK TESTING/LIN folder and she's a manual page for a Fortran subroutine. buckle up πŸŽ€


✨ SYNOPSIS ✨

🌸 Functions/Subroutines

  • subroutine zlavhp (uplo, trans, diag, n, nrhs, a, ipiv, b, ldb, info) β€” literally ZLAVHP, the girl herself πŸ’…

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

subroutine zlavhp (character uplo, character trans, character diag, integer
    n, integer nrhs, complex*16, dimension( * ) a, integer, dimension( * )
    ipiv, complex*16, dimension( ldb, * ) b, integer ldb, integer info)

ZLAVHP β€” say it with me, this is the whole vibe of the page πŸ‘‘

πŸ’œ Purpose:

ok so picture this:

ZLAVHP performs one of the matrix-vector operations

x := A*x  or  x := A^H*x,

where x is an N element vector and A is one of the factors from the symmetric factorization computed by ZHPTRF. 🫢

ZHPTRF produces a factorization of the form

U * D * U^H     or     L * D * L^H,

where U (or L) is a product of permutation and unit upper (lower) triangular matrices, U^H (or L^H) is the conjugate transpose of U (or L), and D is Hermitian and block diagonal with 1 x 1 and 2 x 2 diagonal blocks. The multipliers for the transformations and the upper or lower triangular parts of the diagonal blocks are stored columnwise in packed format in the linear array A. 🧚

  • If TRANS = 'N' or 'n', ZLAVHP multiplies either by U or U * D (or L or L * D).
  • If TRANS = 'C' or 'c', ZLAVHP multiplies either by U^H or D * U^H (or L^H or D * L^H).

🌈 THE ARGUMENTS (a.k.a. the whole cast) 🌈

  • UPLO β€” CHARACTER*1

On entry, UPLO specifies whether the triangular matrix stored in A is upper or lower triangular:

  • UPLO = 'U' or 'u' β†’ the matrix is upper triangular.
  • UPLO = 'L' or 'l' β†’ the matrix is lower triangular.

Unchanged on exit. ✨

  • TRANS β€” CHARACTER*1

On entry, TRANS specifies the operation to be performed, as follows:

  • TRANS = 'N' or 'n' β†’ x := A*x.
  • TRANS = 'C' or 'c' β†’ x := A^H*x.

Unchanged on exit. πŸ’«

  • DIAG β€” CHARACTER*1

On entry, DIAG specifies whether the diagonal blocks are assumed to be unit matrices, as follows:

  • DIAG = 'U' or 'u' β†’ diagonal blocks are unit matrices.
  • DIAG = 'N' or 'n' β†’ diagonal blocks are non-unit.

Unchanged on exit. πŸŽ€

  • N β€” INTEGER

On entry, N specifies the order of the matrix A. N must be at least zero. (zero is allowed, she's not picky, but negative? absolutely not πŸ™ˆ)

Unchanged on exit.

  • NRHS β€” INTEGER

On entry, NRHS specifies the number of right hand sides, i.e., the number of vectors x to be multiplied by A. NRHS must be at least zero.

Unchanged on exit. 🌸

  • A β€” COMPLEX*16 array, dimension( N*(N+1)/2 )

On entry, A contains a block diagonal matrix and the multipliers of the transformations used to obtain it, stored as a packed triangular matrix.

Unchanged on exit. (yes, she reads it and leaves it exactly how she found it, respectful icon πŸ’…)

  • IPIV β€” INTEGER array, dimension( N )

On entry, IPIV contains the vector of pivot indices as determined by ZSPTRF or ZHPTRF. Here's the tea β˜•:

  • If IPIV( K ) = K, no interchange was done.
  • If IPIV( K ) <> K but IPIV( K ) > 0, then row K was interchanged with row IPIV( K ) and a 1 x 1 pivot block was used.
  • If IPIV( K ) < 0 and UPLO = 'U', then row K-1 was exchanged with row | IPIV( K ) | and a 2 x 2 pivot block was used.
  • If IPIV( K ) < 0 and UPLO = 'L', then row K+1 was exchanged with row | IPIV( K ) | and a 2 x 2 pivot block was used.
  • B β€” COMPLEX*16 array, dimension( LDB, NRHS )

On entry, B contains NRHS vectors of length N. On exit, B is overwritten with the product A * B. πŸ”₯ (she said bye to your original B, no cap)

  • LDB β€” INTEGER

On entry, LDB contains the leading dimension of B as declared in the calling program. LDB must be at least max( 1, N ).

Unchanged on exit. ⭐

  • INFO β€” INTEGER

INFO is the error flag. 🚩

  • On exit, a value of 0 indicates a successful exit.
  • A negative value, say -K, indicates that the K-th argument has an illegal value.

πŸ‘‘ Author

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

Definition at line 129 of file zlavhp.f. πŸ“


Generated automatically by Doxygen for LAPACK from the source code. not a human writing this one, it's giving robot energy πŸ€–βœ¨


and that's the whole page bestie, we ate and left no crumbs πŸ“

LAPACK β€” Version 3.12.0 β€” TESTING/LIN/zlavhp.f(3) πŸ¦‹ mwah, see u in the next manpage 🫢

πŸ“¦ where this page comes from