version 1.5, 2010/08/07 13:22:34
|
version 1.8, 2011/07/22 07:38:15
|
Line 1
|
Line 1
|
SUBROUTINE ZHETRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO ) |
SUBROUTINE ZHETRF( UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO ) |
* |
* |
* -- LAPACK routine (version 3.2) -- |
* -- LAPACK 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 UPLO |
CHARACTER UPLO |
Line 82
|
Line 82
|
* Further Details |
* Further Details |
* =============== |
* =============== |
* |
* |
* If UPLO = 'U', then A = U*D*U', where |
* If UPLO = 'U', then A = U*D*U**H, where |
* U = P(n)*U(n)* ... *P(k)U(k)* ..., |
* U = P(n)*U(n)* ... *P(k)U(k)* ..., |
* i.e., U is a product of terms P(k)*U(k), where k decreases from n to |
* i.e., U is a product of terms P(k)*U(k), where k decreases from n to |
* 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 |
* 1 in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 |
Line 99
|
Line 99
|
* If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), |
* If s = 2, the upper triangle of D(k) overwrites A(k-1,k-1), A(k-1,k), |
* and A(k,k), and v overwrites A(1:k-2,k-1:k). |
* and A(k,k), and v overwrites A(1:k-2,k-1:k). |
* |
* |
* If UPLO = 'L', then A = L*D*L', where |
* If UPLO = 'L', then A = L*D*L**H, where |
* L = P(1)*L(1)* ... *P(k)*L(k)* ..., |
* L = P(1)*L(1)* ... *P(k)*L(k)* ..., |
* i.e., L is a product of terms P(k)*L(k), where k increases from 1 to |
* i.e., L is a product of terms P(k)*L(k), where k increases from 1 to |
* n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 |
* n in steps of 1 or 2, and D is a block diagonal matrix with 1-by-1 |
Line 182
|
Line 182
|
* |
* |
IF( UPPER ) THEN |
IF( UPPER ) THEN |
* |
* |
* Factorize A as U*D*U' using the upper triangle of A |
* Factorize A as U*D*U**H using the upper triangle of A |
* |
* |
* K is the main loop index, decreasing from N to 1 in steps of |
* K is the main loop index, decreasing from N to 1 in steps of |
* KB, where KB is the number of columns factorized by ZLAHEF; |
* KB, where KB is the number of columns factorized by ZLAHEF; |
Line 222
|
Line 222
|
* |
* |
ELSE |
ELSE |
* |
* |
* Factorize A as L*D*L' using the lower triangle of A |
* Factorize A as L*D*L**H using the lower triangle of A |
* |
* |
* K is the main loop index, increasing from 1 to N in steps of |
* K is the main loop index, increasing from 1 to N in steps of |
* KB, where KB is the number of columns factorized by ZLAHEF; |
* KB, where KB is the number of columns factorized by ZLAHEF; |