pftrs(3)
π pftrs(3) β triangular solve using factor π
pftrs(3) Β· Library Functions Manual Β· pftrs(3)
β¨ NAME β¨
pftrs β pftrs: triangular solve using factor. That's the whole name section, bestie, short and iconic. π
π¦ SYNOPSIS π¦
π Functions π
subroutine cpftrs (transr, uplo, n, nrhs, a, b, ldb, info)βCPFTRSsubroutine dpftrs (transr, uplo, n, nrhs, a, b, ldb, info)βDPFTRSsubroutine spftrs (transr, uplo, n, nrhs, a, b, ldb, info)βSPFTRSsubroutine zpftrs (transr, uplo, n, nrhs, a, b, ldb, info)βZPFTRS
πΈ Detailed Description πΈ
Okay so this page is basically all function documentation. Buckle up, we're going through the pftrs family one subroutine at a time. π«Ά
π¦ Function Documentation π¦
π subroutine cpftrs π
subroutine cpftrs (character transr, character uplo, integer n, integer
nrhs, complex, dimension( 0: * ) a, complex, dimension( ldb, * ) b,
integer ldb, integer info)
CPFTRS
π Purpose π
Not me solving your linear system AND serving looks. CPFTRS 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 CPFTRF. Periodt. π
π Parameters π
TRANSRβTRANSR is CHARACTER*1.= 'N':The Normal TRANSR of RFP A is stored;= 'C':The Conjugate-transpose TRANSR of RFP A is stored.UPLOβUPLO is CHARACTER*1.= 'U':Upper triangle of RFP A is stored;= 'L':Lower triangle of RFP A is stored.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 array, dimension ( N*(N+1)/2 );. The triangular factorUorLfrom the Cholesky factorization ofRFP A = U**H*UorRFP A = L*L**H, as computed byCPFTRF. See note below for more details about RFP A.BβB is COMPLEX 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).INFOβINFO is INTEGER.= 0:successful exit;< 0:ifINFO = -i, thei-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. We give an example where 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 as follows:
- 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.
To denote conjugate we place -- 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
We next consider Standard Packed Format when N is odd. We give an example where 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 as follows:
- 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.
To denote conjugate we place -- 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 cpftrs.f.
π subroutine dpftrs π
subroutine dpftrs (character transr, character uplo, integer n, integer
nrhs, double precision, dimension( 0: * ) a, double precision,
dimension( ldb, * ) b, integer ldb, integer info)
DPFTRS
π Purpose π
DPFTRS solves a system of linear equations A*X = B with a symmetric positive definite matrix A using the Cholesky factorization A = U**T*U or A = L*L**T computed by DPFTRF. Same energy, double precision flavor. β¨
π Parameters π
TRANSRβTRANSR is CHARACTER*1.= 'N':The Normal TRANSR of RFP A is stored;= 'T':The Transpose TRANSR of RFP A is stored.UPLOβUPLO is CHARACTER*1.= 'U':Upper triangle of RFP A is stored;= 'L':Lower triangle of RFP A is stored.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 DOUBLE PRECISION array, dimension ( N*(N+1)/2 ).. The triangular factorUorLfrom the Cholesky factorization ofRFP A = U**T*UorRFP A = L*L**T, as computed byDPFTRF. See note below for more details about RFP A.BβB is DOUBLE PRECISION 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).INFOβINFO is INTEGER.= 0:successful exit;< 0:ifINFO = -i, thei-th argument had an illegal value.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π₯ Further Details: π₯
Okay bestie, here's the RFP visual β do not lose these indices, they are the whole plot fr fr.
!>
!> We first consider Rectangular Full Packed (RFP) Format when N is
!> even. We give an example where 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 as follows:
!> For UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last
!> three columns of AP upper. The lower triangle A(4:6,0:2) consists of
!> the transpose of the first three columns of AP upper.
!> For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first
!> three columns of AP lower. The upper triangle A(0:2,0:2) consists of
!> the transpose of the last three columns of AP lower.
!> 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 = 'T'. RFP A in both UPLO cases is just the
!> 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
!>
!>
!> We then consider Rectangular Full Packed (RFP) Format when N is
!> odd. We give an example where 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 as follows:
!> For UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last
!> three columns of AP upper. The lower triangle A(3:4,0:1) consists of
!> the transpose of the first two columns of AP upper.
!> For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first
!> three columns of AP lower. The upper triangle A(0:1,1:2) consists of
!> the transpose of the last two columns of AP lower.
!> 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 = 'T'. RFP A in both UPLO cases is just the
!> 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 198 of file dpftrs.f. π
π subroutine spftrs
subroutine spftrs (character transr, character uplo, integer n, integer
nrhs, real, dimension( 0: * ) a, real, dimension( ldb, * ) b, integer
ldb, integer info)
SPFTRS β¨
Purpose π―
Okay so SPFTRS solves a system of linear equations A*X = B where A is a symmetric positive definite matrix, using the Cholesky factorization A = U**T*U or A = L*L**T that was computed by SPFTRF. That's the whole vibe. π«Ά
Parameters π«Ά
TRANSRβTRANSR is CHARACTER*1= 'N': The Normal TRANSR of RFP A is stored;= 'T': The Transpose TRANSR of RFP A is stored.
UPLOβUPLO is CHARACTER*1= 'U': Upper triangle of RFP A is stored;= 'L': Lower triangle of RFP A is stored.
NβN is INTEGER- The order of the matrix
A.N >= 0.β
- The order of the matrix
NRHSβNRHS is INTEGER- The number of right hand sides, i.e., the number of columns of the matrix
B.NRHS >= 0.
- The number of right hand sides, i.e., the number of columns of the matrix
AβA is REAL array, dimension ( N*(N+1)/2 )- The triangular factor
UorLfrom the Cholesky factorization ofRFP A = U**H*UorRFP A = L*L**T, as computed bySPFTRF. See note below for more details aboutRFP A. π
- The triangular factor
BβB is REAL array, dimension (LDB,NRHS)- On entry, the right hand side matrix
B. - On exit, the solution matrix
X. slay
- On entry, the right hand side matrix
LDBβLDB is INTEGER- The leading dimension of the array
B.LDB >= max(1,N).
- The leading dimension of the array
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.
Further Details π₯
!>
!> We first consider Rectangular Full Packed (RFP) Format when N is
!> even. We give an example where 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 as follows:
!> For UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last
!> three columns of AP upper. The lower triangle A(4:6,0:2) consists of
!> the transpose of the first three columns of AP upper.
!> For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first
!> three columns of AP lower. The upper triangle A(0:2,0:2) consists of
!> the transpose of the last three columns of AP lower.
!> 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 = 'T'. RFP A in both UPLO cases is just the
!> 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
!>
!>
!> We then consider Rectangular Full Packed (RFP) Format when N is
!> odd. We give an example where 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 as follows:
!> For UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last
!> three columns of AP upper. The lower triangle A(3:4,0:1) consists of
!> the transpose of the first two columns of AP upper.
!> For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first
!> three columns of AP lower. The upper triangle A(0:1,1:2) consists of
!> the transpose of the last two columns of AP lower.
!> 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 = 'T'. RFP A in both UPLO cases is just the
!> 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 198 of file spftrs.f. π
π subroutine zpftrs
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 π―
Okay so ZPFTRS solves a system of linear equations A*X = B where A is a Hermitian positive definite matrix, using the Cholesky factorization A = U**H*U or A = L*L**H that was computed by ZPFTRF. Iconic behavior only. π«Ά
Parameters π«Ά
TRANSRβTRANSR is CHARACTER*1= 'N': The Normal TRANSR of RFP A is stored;= 'C': The Conjugate-transpose TRANSR of RFP A is stored.β
UPLOβUPLO is CHARACTER*1= 'U': Upper triangle of RFP A is stored;= 'L': Lower triangle of RFP A is stored.
NβN is INTEGER- The order of the matrix
A.N >= 0.
- The order of the matrix
NRHSβNRHS is INTEGER- The number of right hand sides, i.e., the number of columns of the matrix
B.NRHS >= 0.
- The number of right hand sides, i.e., the number of columns of the matrix
AβA is COMPLEX*16 array, dimension ( N*(N+1)/2 );- The triangular factor
UorLfrom the Cholesky factorization ofRFP A = U**H*UorRFP A = L*L**H, as computed byZPFTRF. See note below for more details aboutRFP A. π
- The triangular factor
BβBβBisCOMPLEX*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). π«ΆINFOβINFO is INTEGER.= 0: successful exit β¨< 0: ifINFO = -i, the i-th argument had an illegal value π
and that's the parameter posse, periodt. no cap, every one accounted for π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Further Details: π
okay bestie, this next part is a whole packed-storage mood. I'm giving you the source's explanation exactly as it appears, !> markers and all, because we do not mess with the diagrams π«Ά
!>
!> We first consider Standard Packed Format when N is even.
!> We give an example where 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 as follows:
!> For UPLO = 'U' the upper trapezoid A(0:5,0:2) consists of the last
!> three columns of AP upper. The lower triangle A(4:6,0:2) consists of
!> conjugate-transpose of the first three columns of AP upper.
!> For UPLO = 'L' the lower trapezoid A(1:6,0:2) consists of the first
!> three columns of AP lower. The upper triangle A(0:2,0:2) consists of
!> conjugate-transpose of the last three columns of AP lower.
!> To denote conjugate we place -- 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
!>
!>
!> We next consider Standard Packed Format when N is odd.
!> We give an example where 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 as follows:
!> For UPLO = 'U' the upper trapezoid A(0:4,0:2) consists of the last
!> three columns of AP upper. The lower triangle A(3:4,0:1) consists of
!> conjugate-transpose of the first two columns of AP upper.
!> For UPLO = 'L' the lower trapezoid A(0:4,0:2) consists of the first
!> three columns of AP lower. The upper triangle A(0:1,1:2) consists of
!> conjugate-transpose of the last two columns of AP lower.
!> To denote conjugate we place -- 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.
okay bestie, that's the whole pftrs(3) page β source/version is LAPACK Version 3.12.0, the page is pftrs(3), and the footer's date is getting a cute little goodbye kiss instead of being copied line-for-line ππ
π¦ 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