hetrs_aa(3)
πΈ hetrs_aa πΈ
okay so bestie, buckle up β this is the manual page for hetrs_aa(3), from the Library Functions Manual. it's giving "the whole {he,sy}trs_aa family in one place" and honestly? iconic. π
β¨ NAME β¨
hetrs_aa β {he,sy}trs_aa: triangular solve using factor
like, you already did the factorization thing. now we use it. slay. π
π¦ SYNOPSIS π¦
π Functions
subroutine chetrs_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)βCHETRS_AAsubroutine csytrs_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)βCSYTRS_AAsubroutine dsytrs_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)βDSYTRS_AAsubroutine ssytrs_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)βSSYTRS_AAsubroutine zhetrs_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)βZHETRS_AAsubroutine zsytrs_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)βZSYTRS_AA
six of them. one vibe. the whole alphabet of precisions, fr fr. π
π₯ Detailed Description π₯
so this section exists in the original and it'sβ¦ literally empty. no cap. the heading sits there with nothing under it, like a group chat after someone says "we need to talk." π
we move.
π Function Documentation π
π§ subroutine chetrs_aa (character uplo, integer n, integer nrhs, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( ldb, * ) b, integer ldb, complex, dimension( * ) work, integer lwork, integer info)
CHETRS_AA
β Purpose:
CHETRS_AA solves a system of linear equations A*X = B with a complex hermitian matrix A, using the factorization A = U**H*T*U or A = L*T*L**H computed by CHETRF_AA.
that's it. that's the whole job. you hand it the factors, it hands you the answer. π«Ά
πΈ Parameters
UPLOβUPLOisCHARACTER*1. says whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': upper triangular, form isA = U**H*T*U;= 'L': lower triangular, form isA = L*T*L**H.
NβNisINTEGER. the order of the matrixA.N >= 0.NRHSβNRHSisINTEGER. the number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.AβAisCOMPLEXarray, dimension(LDA,N). details of factors computed byCHETRF_AA.LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIVisINTEGERarray, dimension(N). details of the interchanges as computed byCHETRF_AA.BβBisCOMPLEXarray, dimension(LDB,NRHS). on entry, the right hand side matrixB. on exit, the solution matrixX. β¨ (it literally becomes your answer, main character energy)LDBβLDBisINTEGER. the leading dimension of the arrayB.LDB >= max(1,N).WORKβWORKisCOMPLEXarray, dimension(MAX(1,LWORK)).LWORKβLWORKisINTEGER. the dimension of the arrayWORK. ifMIN(N,NRHS) = 0,LWORK >= 1, elseLWORK >= 3*N-2.- if
LWORK = -1, then a workspace query is assumed; the routine only calculates the minimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA. π
- if
INFOβ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.
Definition at line 135 of file chetrs_aa.f.
π¦ subroutine csytrs_aa (character uplo, integer n, integer nrhs, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex, dimension( ldb, * ) b, integer ldb, complex, dimension( * ) work, integer lwork, integer info)
CSYTRS_AA
β Purpose:
CSYTRS_AA solves a system of linear equations A*X = B with a complex symmetric matrix A, using the factorization A = U**T*T*U or A = L*T*L**T computed by CSYTRF_AA.
note: symmetric, not hermitian. transposes, not conjugate transposes. mind the difference bestie, it matters. π
πΈ Parameters
UPLOβUPLOisCHARACTER*1. specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': upper triangular, form isA = U**T*T*U;= 'L': lower triangular, form isA = L*T*L**T.
NβNisINTEGER. the order of the matrixA.N >= 0.NRHSβNRHSisINTEGER. the number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.AβAisCOMPLEXarray, dimension(LDA,N). details of factors computed byCSYTRF_AA.LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIVisINTEGERarray, dimension(N). details of the interchanges as computed byCSYTRF_AA.BβBisCOMPLEXarray, dimension(LDB,NRHS). on entry, the right hand side matrixB. on exit, the solution matrixX.LDBβLDBisINTEGER. the leading dimension of the arrayB.LDB >= max(1,N).WORKβWORKisCOMPLEXarray, dimension(MAX(1,LWORK)).LWORKβLWORKisINTEGER. the dimension of the arrayWORK.LWORK >= max(1,3*N-2).INFOβINFOisINTEGER.= 0: successful exit< 0: ifINFO = -i, the i-th argument had an illegal value
and yeah β this one's LWORK section has no workspace-query paragraph. don't come for me, that's literally how it's written. π
π Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 129 of file csytrs_aa.f.
π subroutine dsytrs_aa (character uplo, integer n, integer nrhs, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, double precision, dimension( ldb, * ) b, integer ldb, double precision, dimension( * ) work, integer lwork, integer info)
DSYTRS_AA
β Purpose:
DSYTRS_AA solves a system of linear equations A*X = B with a real symmetric matrix A, using the factorization A = U**T*T*U or A = L*T*L**T computed by DSYTRF_AA.
double precision, real symmetric, same energy. π
πΈ Parameters
UPLOβUPLOisCHARACTER*1. specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': upper triangular, form isA = U**T*T*U;= 'L': lower triangular, form isA = L*T*L**T.
NβNisINTEGER. the order of the matrixA.N >= 0.NRHSβNRHSisINTEGER. the number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.AβAisDOUBLE PRECISIONarray, dimension(LDA,N). details of factors computed byDSYTRF_AA.LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIVisINTEGERarray, dimension(N). details of the interchanges as computed byDSYTRF_AA.BβBisDOUBLE PRECISIONarray, dimension(LDB,NRHS). on entry, the right hand side matrixB. on exit, the solution matrixX.LDBβLDBisINTEGER. the leading dimension of the arrayB.LDB >= max(1,N).WORKβWORKisDOUBLE PRECISIONarray, dimension(MAX(1,LWORK)).LWORKβLWORKisINTEGER. the dimension of the arrayWORK. ifMIN(N,NRHS) = 0,LWORK >= 1, elseLWORK >= 3*N-2.- if
LWORK = -1, then a workspace query is assumed; the routine only calculates the minimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA.
- if
INFOβ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.
Definition at line 135 of file dsytrs_aa.f.
π subroutine ssytrs_aa (character uplo, integer n, integer nrhs, real, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, real, dimension( ldb, * ) b, integer ldb, real, dimension( * ) work, integer lwork, integer info)
SSYTRS_AA
β Purpose:
SSYTRS_AA solves a system of linear equations A*X = B with a real symmetric matrix A, using the factorization A = U**T*T*U or A = L*T*L**T computed by SSYTRF_AA.
single precision edition. same routine, lighter baggage. β
πΈ Parameters
UPLOβUPLOisCHARACTER*1. specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': upper triangular, form isA = U**T*T*U;= 'L': lower triangular, form isA = L*T*L**T.
NβNisINTEGER. the order of the matrixA.N >= 0.NRHSβNRHSisINTEGER. the number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.AβAisREALarray, dimension(LDA,N). details of factors computed bySSYTRF_AA.LDAβLDAisINTEGER. the leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIVisINTEGERarray, dimension(N). details of the interchanges as computed bySSYTRF_AA.BβBisREALarray, dimension(LDB,NRHS). on entry, the right hand side matrixB. on exit, the solution matrixX.LDBβLDBisINTEGER. the leading dimension of the arrayB.LDB >= max(1,N).
WORK
okay bestie, here's the real workspace tea: WORK is WORK is REAL array, dimension (MAX(1,LWORK)). Thatβs the real-valued scratch space, no cap π
LWORK
LWORK is LWORK is INTEGER β itβs the dimension of the array WORK.
So hereβs the size check, literally: if MIN(N,NRHS) = 0, then LWORK >= 1, else LWORK >= 3*N-2. π«Ά
And if LWORK = -1, then a workspace query is assumed; the routine only calculates the minimal size of the WORK array, returns this value as the first entry of the WORK array, and no error message related to LWORK is issued by XERBLA. Iconic lazy-girl behavior, honestly.
INFO
INFO is INFO is INTEGER:
= 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.
Definition at line 135 of file ssytrs_aa.f.
zhetrs_aa β ZHETRS_AA
Purpose
okay so ZHETRS_AA solves a system of linear equations A*X = B with a complex hermitian matrix A using the factorization A = U**H*T*U or A = L*T*L**H computed by ZHETRF_AA. Thatβs the whole main-character plot π
subroutine zhetrs_aa (character uplo, integer n, integer nrhs, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer ldb, complex*16, dimension( * ) work, integer lwork, integer info)
Parameters
UPLOβUPLO is CHARACTER*1. It specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': Upper triangular, form is A = U**H*T*U;= 'L': Lower triangular, form is A = L*T*L**H.π¦NβN is INTEGER. The order of the matrixA.N >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.AβA is COMPLEX*16 array, dimension (LDA,N). Details of factors computed byZHETRF_AA.LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges as computed byZHETRF_AA.BβB is COMPLEX*16 array, dimension (LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX. πLDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,N).WORKβWORK is COMPLEX*16 array, dimension (MAX(1,LWORK)).LWORKβLWORK is INTEGER. The dimension of the arrayWORK. IfMIN(N,NRHS) = 0,LWORK >= 1, elseLWORK >= 3*N-2. IfLWORK = -1, then a workspace query is assumed; the routine only calculates the minimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA. π«ΆINFOβINFO is INTEGER.= 0: successful exit;< 0: if INFO = -i, the i-th argument had an illegal value.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 136 of file zhetrs_aa.f.
zsytrs_aa β ZSYTRS_AA
Purpose
and ZSYTRS_AA solves a system of linear equations A*X = B with a complex symmetric matrix A using the factorization A = U**T*T*U or A = L*T*L**T computed by ZSYTRF_AA. Same slay, different symmetry vibe π
subroutine zsytrs_aa (character uplo, integer n, integer nrhs, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, complex*16, dimension( ldb, * ) b, integer ldb, complex*16, dimension( * ) work, integer lwork, integer info)
Parameters
UPLOβUPLO is CHARACTER*1. It specifies whether the details of the factorization are stored as an upper or lower triangular matrix.= 'U': Upper triangular, form is A = U**T*T*U;= 'L': Lower triangular, form is A = L*T*L**T.πNβN is INTEGER. The order of the matrixA.N >= 0.NRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.AβA is COMPLEX*16 array, dimension (LDA,N). Details of factors computed byZSYTRF_AA.LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,N).IPIVβIPIV is INTEGER array, dimension (N). Details of the interchanges as computed byZSYTRF_AA.BβB is COMPLEX*16 array, dimension (LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX. β¨LDBβLDB is INTEGER. The leading dimension of the arrayB.LDB >= max(1,N).WORKβWORK is COMPLEX*16 array, dimension (MAX(1,LWORK)).LWORKβLWORK is INTEGER. The dimension of the arrayWORK.LWORK >= max(1,3*N-2).INFOβINFO is INTEGER.= 0: successful exit;< 0: if INFO = -i, the i-th argument had an illegal value.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 129 of file zsytrs_aa.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.
xoxo, your Unix bestie π β footer shoutout: source is LAPACK, version is Version 3.12.0, and this iconic little page is hetrs_aa(3). Byeee π
π¦ 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