ZLAVHE_ROOK(3)
π zlavhe_rook(3)
Bestie, welcome to the Library Functions Manual page for TESTING/LIN/zlavhe_rook.f β yes, weβre doing Fortran LAPACK lore today. π
π NAME
TESTING/LIN/zlavhe_rook.f
Thatβs it. Thatβs the name. Iconic minimalism. β¨
β¨ SYNOPSIS
π§ Functions/Subroutines
subroutine zlavhe_rook (uplo, trans, diag, n, nrhs, a, lda, ipiv, b,
ldb, info)
ZLAVHE_ROOK
πΈ Function/Subroutine Documentation
subroutine zlavhe_rook (character uplo, character trans, character diag,
integer n, integer nrhs, complex*16, dimension( lda, * ) a, integer lda,
integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer
ldb, integer info)
ZLAVHE_ROOK
π¦ Purpose
Okay so ZLAVHE_ROOK 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 block U*D*U' or L*D*L' factorization computed by ZHETRF_ROOK. Slay. π«Ά
If TRANS = 'N', it multiplies by U or U * D (or L or L * D). If TRANS = 'C', it multiplies by U' or D * U' (or L' or D * L'). No cap.
π§ Parameters
π UPLO
UPLOisCHARACTER*1.- It specifies whether the factor stored in
Ais upper or lower triangular.= 'U': Upper triangular= 'L': Lower triangular
π TRANS
TRANSisCHARACTER*1.- It specifies the operation to be performed:
= 'N':x := A*x= 'C':x := A^H*x
π DIAG
DIAGisCHARACTER*1.- It specifies whether or not the diagonal blocks are unit matrices. If the diagonal blocks are assumed to be unit, then
A = UorA = L, otherwiseA = U*DorA = L*D.= 'U': Diagonal blocks are assumed to be unit matrices.= 'N': Diagonal blocks are assumed to be non-unit matrices.
β N
NisINTEGER.- The number of rows and columns of the matrix
A.N >= 0.
π NRHS
NRHSisINTEGER.- The number of right hand sides, i.e., the number of vectors
xto be multiplied byA.NRHS >= 0.
π₯ A
AisCOMPLEX*16array, dimension(LDA,N).- The block diagonal matrix
Dand the multipliers used to obtain the factorUorLas computed byZHETRF_ROOK. - Stored as a 2-D triangular matrix.
π LDA
LDAisINTEGER.- The leading dimension of the array
A.LDA >= max(1,N).
π¦ IPIV
IPIVisINTEGERarray, dimension(N).- Details of the interchanges and the block structure of
D, as determined byZHETRF_ROOK.
If UPLO = 'U':
- Only the last
KBelements ofIPIVare set. - If
IPIV(k) > 0, then rows and columnskandIPIV(k)were interchanged andD(k,k)is a 1-by-1 diagonal block. - If
IPIV(k) < 0andIPIV(k-1) < 0, then rows and columnskand-IPIV(k)were interchanged and rows and columnsk-1and-IPIV(k-1)were interchanged,D(k-1:k,k-1:k)is a 2-by-2 diagonal block.
If UPLO = 'L':
- Only the first
KBelements ofIPIVare set. - If
IPIV(k) > 0, then rows and columnskandIPIV(k)were interchanged andD(k,k)is a 1-by-1 diagonal block. - If
IPIV(k) < 0andIPIV(k+1) < 0, then rows and columnskand-IPIV(k)were interchanged and rows and columnsk+1and-IPIV(k+1)were interchanged,D(k:k+1,k:k+1)is a 2-by-2 diagonal block.
π B
BisCOMPLEXarray, dimension(LDB,NRHS).- On entry,
BcontainsNRHSvectors of lengthN. - On exit,
Bis overwritten with the productA * B.
πΈ LDB
LDBisINTEGER.- The leading dimension of the array
B.LDB >= max(1,N).
π INFO
INFOisINTEGER.= 0: successful exit< 0: ifINFO = -k, thek-th argument had an illegal value
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 151 of file zlavhe_rook.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
Source/version sign-off, bestie: LAPACK Version 3.12.0 β no separate date is listed on this page, so Iβm not inventing one. This page was generated automatically by Doxygen for LAPACK from the source code. πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms