spftrf (l)  Linux Man Pages
spftrf: computes the Cholesky factorization of a real symmetric positive definite matrix A
NAME
SPFTRF  computes the Cholesky factorization of a real symmetric positive definite matrix ASYNOPSIS
 SUBROUTINE SPFTRF(
 TRANSR, UPLO, N, A, INFO )
 CHARACTER TRANSR, UPLO
 INTEGER N, INFO
 REAL A( 0: * )
PURPOSE
SPFTRF computes the Cholesky factorization of a real symmetric positive definite matrix A. The factorization has the formA
A
where U is an upper triangular matrix and L is lower triangular. This is the block version of the algorithm, calling Level 3 BLAS.
ARGUMENTS
 TRANSR (input) CHARACTER

= aqNaq: The Normal TRANSR of RFP A is stored;
= aqTaq: The Transpose TRANSR of RFP A is stored.  UPLO (input) CHARACTER

= aqUaq: Upper triangle of RFP A is stored;
= aqLaq: Lower triangle of RFP A is stored.  N (input) INTEGER
 The order of the matrix A. N >= 0.
 A (input/output) REAL array, dimension ( N*(N+1)/2 );

On entry, the symmetric matrix A in RFP format. RFP format is
described by TRANSR, UPLO, and N as follows: If TRANSR = aqNaq
then RFP A is (0:N,0:k1) when N is even; k=N/2. RFP A is
(0:N1,0:k) when N is odd; k=N/2. IF TRANSR = aqTaq then RFP is the transpose of RFP A as defined when TRANSR = aqNaq. The contents of RFP A are defined by UPLO as follows: If UPLO = aqUaq the RFP A contains the NT elements of upper packed A. If UPLO = aqLaq the RFP A contains the elements of lower packed A. The LDA of RFP A is (N+1)/2 when TRANSR = aqTaq. When TRANSR is aqNaq the LDA is N+1 when N is even and N is odd. See the Note below for more details. On exit, if INFO = 0, the factor U or L from the Cholesky factorization RFP A = U**T*U or RFP A = L*L**T.  INFO (output) INTEGER

= 0: successful exit
< 0: if INFO = i, the ith argument had an illegal value
> 0: if INFO = i, the leading minor of order i is not positive definite, and the factorization could not be completed.
FURTHER DETAILS
We first consider Rectangular Full Packed (RFP) Format when N is even. We give an example where N = 6.Let TRANSR = aqNaq. RFP holds AP as follows:
For UPLO = aqUaq 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 = aqLaq 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 = aqNaq.
03 04 05
13 14 15
23 24 25
33 34 35
00 44 45
01 11 55
02 12 22
Now let TRANSR = aqTaq. RFP A in both UPLO cases is just the transpose of RFP A above. One therefore gets:
03 13 23 33 00 01 02