CLAVHP(3)
Hey bestie π youβre looking at CLAVHP(3), a page from the Library Functions Manual. Itβs giving LAPACK routine energy, and weβre gonna walk through every single deet together. No cap. β¨
π NAME
The NAME section is literally this path, character for character:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/clavhp.f
β¨ SYNOPSIS
Under Functions/Subroutines, the synopsis is serving:
Functions/Subroutines
subroutine CLAVHP (uplo, trans, diag, n, nrhs, a, ipiv, b, ldb, info)
CLAVHP
π¦ Function/Subroutine Documentation
The full signature is iconic and exact:
subroutine CLAVHP (character uplo, character trans, character diag, integer
n, integer nrhs, complex, dimension( * ) a, integer, dimension( * )
ipiv, complex, dimension( ldb, * ) b, integer ldb, integer info)
CLAVHP
Purpose
Okay so CLAVHP 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 CHPTRF. CHPTRF 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', CLAVHP multiplies either by U or U * D (or L or L * D). If TRANS = 'C' or 'c', CLAVHP multiplies either by U^H or D * U^H (or L^H or D * L^H ).
Here are the arguments, one by one, with all the tea β:
UPLOβCHARACTER*1. On entry, UPLO specifies whether the triangular matrix stored in A is upper or lower triangular.UPLO = 'U' or 'u'means the matrix is upper triangular.UPLO = 'L' or 'l'means 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'meansx := A*x.TRANS = 'C' or 'c'meansx := 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'means diagonal blocks are unit matrices.DIAG = 'N' or 'n'means 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 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 byCSPTRForCHPTRF. IfIPIV( K ) = K, no interchange was done. IfIPIV( K ) <> KbutIPIV( K ) > 0, then row K was interchanged with rowIPIV( K )and a 1 x 1 pivot block was used. IfIPIV( K ) < 0andUPLO = 'U', then rowK-1was exchanged with row| IPIV( K ) |and a 2 x 2 pivot block was used. IfIPIV( K ) < 0andUPLO = 'L', then rowK+1was exchanged with row| IPIV( K ) |and a 2 x 2 pivot block was used.BβCOMPLEX array, dimension( LDB, NRHS ). On entry, B contains NRHS vectors of length N. On exit, B is overwritten with the productA * B.LDBβINTEGER. On entry, LDB contains the leading dimension of B as declared in the calling program. LDB must be at leastmax( 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 clavhp.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.
π Thatβs the whole page, bestie β LAPACK Version 3.12.0, page source /home/abui...IN/clavhp.f(3). Periodt. π
π¦ 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