SRC/cpftrs.f(3)

πŸ’– SRC/cpftrs.f(3) πŸ’–

okay bestie, this page is from the Library Functions Manual, and it's all about SRC/cpftrs.f β€” yes, the whole NAME section is literally just that file name, minimal queen behavior, we respect it. πŸ’…


✨ NAME ✨

SRC/cpftrs.f


πŸ¦‹ SYNOPSIS πŸ¦‹

Functions/Subroutines

subroutine cpftrs (transr, uplo, n, nrhs, a, b, ldb, info)
    CPFTRS

🌸 Function/Subroutine 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

πŸ’« CPFTRS πŸ’«

πŸŽ€ Purpose: πŸŽ€

okay so 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. that's the whole flex. slay. ✨


πŸ“ Parameters πŸ“

  • TRANSR β€” TRANSR is CHARACTER*1. it's giving:
    • = 'N': The Normal TRANSR of RFP A is stored;
    • = 'C': The Conjugate-transpose TRANSR of RFP A is stored.
  • UPLO β€” UPLO is CHARACTER*1. pick your vibe:
    • = '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. no negative girlies allowed. 🫢
  • NRHS β€” NRHS is INTEGER. the number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • A β€” A is COMPLEX array, dimension ( N*(N+1)/2 );. it's the triangular factor U or L from the Cholesky factorization of RFP A = U**H*U or RFP A = L*L**H, as computed by CPFTRF. see note below for more details about RFP A. πŸ‘€
  • B β€” B is COMPLEX array, dimension (LDB,NRHS). on entry, the right hand side matrix B. on exit, the solution matrix X. glow-up moment. 🌈
  • LDB β€” LDB is INTEGER. the leading dimension of the array B. LDB >= max(1,N). periodt.
  • INFO β€” INFO is INTEGER. the receipts:
    • = 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: 🌈

okay bestie, this is the packed-format lore, and the spacing is doing the absolute most, so the raw matrix art below is kept exactly as it should be β€” !> prefixes and all. no cap. πŸ’€

first up: we consider Standard Packed Format when N is even. example era: 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

next we consider Standard Packed Format when N is odd. example era: 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 cpftrs.f.


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


k bye bestie β€” this iconic manual page is serving LAPACK Version 3.12.0 footer energy for SRC/cpftrs.f(3). πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from