version 1.7, 2010/12/21 13:53:54
|
version 1.8, 2011/07/22 07:38:19
|
Line 1
|
Line 1
|
SUBROUTINE ZPPSVX( FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, |
SUBROUTINE ZPPSVX( FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, |
$ X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO ) |
$ X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO ) |
* |
* |
* -- LAPACK driver routine (version 3.2) -- |
* -- LAPACK driver routine (version 3.3.1) -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* November 2006 |
* -- April 2011 -- |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
CHARACTER EQUED, FACT, UPLO |
CHARACTER EQUED, FACT, UPLO |
Line 20
|
Line 20
|
* Purpose |
* Purpose |
* ======= |
* ======= |
* |
* |
* ZPPSVX uses the Cholesky factorization A = U**H*U or A = L*L**H to |
* ZPPSVX uses the Cholesky factorization A = U**H * U or A = L * L**H to |
* compute the solution to a complex system of linear equations |
* compute the solution to a complex system of linear equations |
* A * X = B, |
* A * X = B, |
* where A is an N-by-N Hermitian positive definite matrix stored in |
* where A is an N-by-N Hermitian positive definite matrix stored in |
Line 43
|
Line 43
|
* |
* |
* 2. If FACT = 'N' or 'E', the Cholesky decomposition is used to |
* 2. If FACT = 'N' or 'E', the Cholesky decomposition is used to |
* factor the matrix A (after equilibration if FACT = 'E') as |
* factor the matrix A (after equilibration if FACT = 'E') as |
* A = U'* U , if UPLO = 'U', or |
* A = U**H * U , if UPLO = 'U', or |
* A = L * L', if UPLO = 'L', |
* A = L * L**H, if UPLO = 'L', |
* where U is an upper triangular matrix, L is a lower triangular |
* where U is an upper triangular matrix, L is a lower triangular |
* matrix, and ' indicates conjugate transpose. |
* matrix, and **H indicates conjugate transpose. |
* |
* |
* 3. If the leading i-by-i principal minor is not positive definite, |
* 3. If the leading i-by-i principal minor is not positive definite, |
* then the routine returns with INFO = i. Otherwise, the factored |
* then the routine returns with INFO = i. Otherwise, the factored |
Line 117
|
Line 117
|
* |
* |
* If FACT = 'N', then AFP is an output argument and on exit |
* If FACT = 'N', then AFP is an output argument and on exit |
* returns the triangular factor U or L from the Cholesky |
* returns the triangular factor U or L from the Cholesky |
* factorization A = U**H*U or A = L*L**H of the original |
* factorization A = U**H * U or A = L * L**H of the original |
* matrix A. |
* matrix A. |
* |
* |
* If FACT = 'E', then AFP is an output argument and on exit |
* If FACT = 'E', then AFP is an output argument and on exit |
* returns the triangular factor U or L from the Cholesky |
* returns the triangular factor U or L from the Cholesky |
* factorization A = U**H*U or A = L*L**H of the equilibrated |
* factorization A = U**H * U or A = L * L**H of the equilibrated |
* matrix A (see the description of AP for the form of the |
* matrix A (see the description of AP for the form of the |
* equilibrated matrix). |
* equilibrated matrix). |
* |
* |
Line 324
|
Line 324
|
* |
* |
IF( NOFACT .OR. EQUIL ) THEN |
IF( NOFACT .OR. EQUIL ) THEN |
* |
* |
* Compute the Cholesky factorization A = U'*U or A = L*L'. |
* Compute the Cholesky factorization A = U**H * U or A = L * L**H. |
* |
* |
CALL ZCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) |
CALL ZCOPY( N*( N+1 ) / 2, AP, 1, AFP, 1 ) |
CALL ZPPTRF( UPLO, N, AFP, INFO ) |
CALL ZPPTRF( UPLO, N, AFP, INFO ) |