ZLAVHP(3)

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

Manual name drop: Library Functions Manual. Header path vibes: /home/abui...IN/zlavhp.f(3). Bestie, this page is serving serious LAPACK documentation energy, and we are going to get through every single detail together. πŸ’…βœ¨

πŸ’– NAME πŸ’–

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

That's the file path, literally and exactly. No cap. 🫢


✨ SYNOPSIS ✨

Functions/Subroutines πŸŽ€

subroutine ZLAVHP (uplo, trans, diag, n, nrhs, a, ipiv, b, ldb, info)
    ZLAVHP

It's giving "subroutine ZLAVHP with a whole crew of arguments," and honestly? Iconic. πŸ‘‘


πŸ¦‹ 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 β€” yes bestie, that's the name, and it is the main character here. 🌟

Purpose πŸ’‘

Okay so ZLAVHP performs one of these matrix-vector operations, literally:

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

Now the arguments, one by one, because we are not skipping a single one:

  • 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. 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.
  • IPIV β€” INTEGER array, dimension( N ). On entry, IPIV contains the vector of pivot indices as determined by ZSPTRF or ZHPTRF.
    • 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.
  • 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.


🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code.


Okay that's the whole page, bestie! πŸ’– Final footer tea: source is LAPACK, version is 3.12.0, and the footer path is /home/abui...IN/zlavhp.f(3) β€” the footer doesn't give a separate calendar date, so no invented date, periodt. 🫢✨

πŸ“¦ where this page comes from