SRC/zhetrs_3.f(3)
π SRC/zhetrs_3.f(3) π
okay so bestie, welcome to the SRC/zhetrs_3.f(3) page from the Library Functions Manual β it's giving Fortran subroutine main-character energy, and we're gonna go through every single detail together, no cap. π
β¨
πΈ NAME πΈ
SRC/zhetrs_3.f
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine zhetrs_3 (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)βZHETRS_3
π§ Function/Subroutine Documentation π§
okay so the full signature is literally this, and yes we're keeping it exactly:
subroutine zhetrs_3 (character uplo, integer n, integer nrhs, complex*16,
dimension( lda, * ) a, integer lda, complex*16, dimension( * ) e,
integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer
ldb, integer info)
ZHETRS_3
π Purpose π
so here's the tea: ZHETRS_3 solves a system of linear equations A * X = B with a complex Hermitian matrix A using the factorization computed by ZHETRF_RK or ZHETRF_BK:
A = P*U*D*(U**H)*(P**T) or A = P*L*D*(L**H)*(P**T),
where U (or L) is unit upper (or lower) triangular matrix, U**H (or L**H) is the conjugate of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks.
This algorithm is using Level 3 BLAS. π₯
πΈ Parameters πΈ
UPLOisCHARACTER*1β specifies whether the details of the factorization are stored as an upper or lower triangular matrix:= 'U': Upper triangular, form isA = P*U*D*(U**H)*(P**T);= 'L': Lower triangular, form isA = P*L*D*(L**H)*(P**T).
NisINTEGERβ the order of the matrixA.N >= 0.NRHSisINTEGERβ the number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.AisCOMPLEX*16 array, dimension (LDA,N)β diagonal of the block diagonal matrixDand factorsUorLas computed byZHETRF_RKandZHETRF_BK:- a) ONLY diagonal elements of the Hermitian block diagonal matrix
Don the diagonal ofA, i.e.D(k,k) = A(k,k); (superdiagonal (or subdiagonal) elements ofDshould be provided on entry in arrayE), and - b) If
UPLO = 'U': factorUin the superdiagonal part ofA. IfUPLO = 'L': factorLin the subdiagonal part ofA.
- a) ONLY diagonal elements of the Hermitian block diagonal matrix
LDAisINTEGERβ the leading dimension of the arrayA.LDA >= max(1,N).EisCOMPLEX*16 array, dimension (N)β on entry, contains the superdiagonal (or subdiagonal) elements of the Hermitian block diagonal matrixDwith 1-by-1 or 2-by-2 diagonal blocks, where IfUPLO = 'U':E(i) = D(i-1,i),i=2:N,E(1)not referenced; IfUPLO = 'L':E(i) = D(i+1,i),i=1:N-1,E(N)not referenced.
NOTE: For 1-by-1 diagonal blockD(k), where1 <= k <= N, the elementE(k)is not referenced in bothUPLO = 'U'orUPLO = 'L'cases. π«Ά
IPIVisINTEGER array, dimension (N)β details of the interchanges and the block structure ofDas determined byZHETRF_RKorZHETRF_BK.BisCOMPLEX*16 array, dimension (LDB,NRHS)β on entry, the right hand side matrixB. On exit, the solution matrixX.LDBisINTEGERβ the leading dimension of the arrayB.LDB >= max(1,N).INFOisINTEGER:= 0: successful exit< 0: ifINFO = -i, the i-th argument had an illegal value
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π¦ Contributors π¦
- June 2017, Igor Kozachenko, Computer Science Division, University of California, Berkeley
- September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas, School of Mathematics, University of Manchester
Definition at line 163 of file zhetrs_3.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole vibe, bestie β this page is from LAPACK Version 3.12.0, file SRC/zhetrs_3.f(3), and it was generated automatically by Doxygen for LAPACK from the source code. catch you later, mwah πβ¨π
π¦ 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