ZPFTRS(3)
okay bestie, you found ZPFTRS(3) in the Library Functions Manual, and this page is about the LAPACK routine that solves linear systems with a Hermitian positive definite matrix. it's giving serious Cholesky energy, no cap. π
β¨
πΈ NAME πΈ
the page source is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zpftrs.f, and the manual name is ZPFTRS(3). that's the whole NAME section, bestie β iconic minimalism. π
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine ZPFTRS (transr, uplo, n, nrhs, a, b, ldb, info)β the one and only, a.k.a.ZPFTRS.
subroutine ZPFTRS (transr, uplo, n, nrhs, a, b, ldb, info)
π¦ Function/Subroutine Documentation π¦
here's the full signature, exact characters and all, because we do not gatekeep:
subroutine ZPFTRS (character transr, character uplo, integer n, integer
nrhs, complex*16, dimension( 0: * ) a, complex*16, dimension( ldb, * )
b, integer ldb, integer info)
π« ZPFTRS π«
π― Purpose π―
ZPFTRS solves a system of linear equations A*X = B with a Hermitian positive definite matrix A using the Cholesky factorization A = U**H*U or A = L*L**H computed by ZPFTRF. slay. π₯
π§Ύ Parameters π§Ύ
TRANSRβCHARACTER*1.= 'N': the Normal TRANSR of RFP A is stored;= 'C': the Conjugate-transpose TRANSR of RFP A is stored.UPLOβCHARACTER*1.= 'U': Upper triangle of RFP A is stored;= 'L': Lower triangle of RFP A is stored.NβINTEGER. The order of the matrixA.N >= 0.NRHSβINTEGER. The number of right hand sides, i.e., the number of columns of the matrixB.NRHS >= 0.AβCOMPLEX*16 array, dimension ( N*(N+1)/2 );The triangular factorUorLfrom the Cholesky factorization of RFP A =U**H*Uor RFP A =L*L**H, as computed byZPFTRF. See note below for more details about RFP A.BβCOMPLEX*16 array, dimension (LDB,NRHS). On entry, the right hand side matrixB. On exit, the solution matrixX.LDBβINTEGER. The leading dimension of the arrayB.LDB >= max(1,N).INFOβ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.
π₯ Further Details π₯
first up: Standard Packed Format when N is even. example time β N = 6. π
!> AP is Upper AP is Lower
!>
!> 00 01 02 03 04 05 00
!> 11 12 13 14 15 10 11
!> 22 23 24 25 20 21 22
!> 33 34 35 30 31 32 33
!> 44 45 40 41 42 43 44
!> 55 50 51 52 53 54 55
let TRANSR = 'N'. RFP holds AP like this:
- for
UPLO = 'U', the upper trapezoidA(0:5,0:2)consists of the last three columns of AP upper. the lower triangleA(4:6,0:2)consists of conjugate-transpose of the first three columns of AP upper. - for
UPLO = 'L', the lower trapezoidA(1:6,0:2)consists of the first three columns of AP lower. the upper triangleA(0:2,0:2)consists of conjugate-transpose of the last three columns of AP lower.
conjugates are shown with -- above the element. this covers the case N even and TRANSR = 'N'. π¦
!> RFP A RFP A
!>
!> -- -- --
!> 03 04 05 33 43 53
!> -- --
!> 13 14 15 00 44 54
!> --
!> 23 24 25 10 11 55
!>
!> 33 34 35 20 21 22
!> --
!> 00 44 45 30 31 32
!> -- --
!> 01 11 55 40 41 42
!> -- -- --
!> 02 12 22 50 51 52
now let TRANSR = 'C'. RFP A in both UPLO cases is just the conjugate-transpose of RFP A above. one therefore gets:
!> RFP A RFP A
!>
!> -- -- -- -- -- -- -- -- -- --
!> 03 13 23 33 00 01 02 33 00 10 20 30 40 50
!> -- -- -- -- -- -- -- -- -- --
!> 04 14 24 34 44 11 12 43 44 11 21 31 41 51
!> -- -- -- -- -- -- -- -- -- --
!> 05 15 25 35 45 55 22 53 54 55 22 32 42 52
next we consider Standard Packed Format when N is odd. example: N = 5. π
!> AP is Upper AP is Lower
!>
!> 00 01 02 03 04 00
!> 11 12 13 14 10 11
!> 22 23 24 20 21 22
!> 33 34 30 31 32 33
!> 44 40 41 42 43 44
let TRANSR = 'N'. RFP holds AP like this:
- for
UPLO = 'U', the upper trapezoidA(0:4,0:2)consists of the last three columns of AP upper. the lower triangleA(3:4,0:1)consists of conjugate-transpose of the first two columns of AP upper. - for
UPLO = 'L', the lower trapezoidA(0:4,0:2)consists of the first three columns of AP lower. the upper triangleA(0:1,1:2)consists of conjugate-transpose of the last two columns of AP lower.
conjugates are shown with -- above the element. this covers the case N odd and TRANSR = 'N'. π
!> RFP A RFP A
!>
!> -- --
!> 02 03 04 00 33 43
!> --
!> 12 13 14 10 11 44
!>
!> 22 23 24 20 21 22
!> --
!> 00 33 34 30 31 32
!> -- --
!> 01 11 44 40 41 42
now let TRANSR = 'C'. RFP A in both UPLO cases is just the conjugate-transpose of RFP A above. one therefore gets:
!> RFP A RFP A
!>
!> -- -- -- -- -- -- -- -- --
!> 02 12 22 00 01 00 10 20 30 40 50
!> -- -- -- -- -- -- -- -- --
!> 03 13 23 33 11 33 11 21 31 41 51
!> -- -- -- -- -- -- -- -- --
!> 04 14 24 34 44 43 44 22 32 42 52
Definition at line 219 of file zpftrs.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
that's the whole page, bestie. signing off from LAPACK β Version 3.12.0 β source /home/abui...RC/zpftrs.f(3). πβ¨π
π¦ 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