version 1.7, 2010/12/21 13:53:53
|
version 1.8, 2011/07/22 07:38:18
|
Line 1
|
Line 1
|
SUBROUTINE ZPBTRS( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO ) |
SUBROUTINE ZPBTRS( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, 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 18
|
Line 18
|
* |
* |
* ZPBTRS solves a system of linear equations A*X = B with a Hermitian |
* ZPBTRS solves a system of linear equations A*X = B with a Hermitian |
* positive definite band matrix A using the Cholesky factorization |
* positive definite band matrix A using the Cholesky factorization |
* A = U**H*U or A = L*L**H computed by ZPBTRF. |
* A = U**H *U or A = L*L**H computed by ZPBTRF. |
* |
* |
* Arguments |
* Arguments |
* ========= |
* ========= |
Line 40
|
Line 40
|
* |
* |
* AB (input) COMPLEX*16 array, dimension (LDAB,N) |
* AB (input) COMPLEX*16 array, dimension (LDAB,N) |
* The triangular factor U or L from the Cholesky factorization |
* The triangular factor U or L from the Cholesky factorization |
* A = U**H*U or A = L*L**H of the band matrix A, stored in the |
* A = U**H *U or A = L*L**H of the band matrix A, stored in the |
* first KD+1 rows of the array. The j-th column of U or L is |
* first KD+1 rows of the array. The j-th column of U or L is |
* stored in the j-th column of the array AB as follows: |
* stored in the j-th column of the array AB as follows: |
* if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j; |
* if UPLO ='U', AB(kd+1+i-j,j) = U(i,j) for max(1,j-kd)<=i<=j; |
Line 107
|
Line 107
|
* |
* |
IF( UPPER ) THEN |
IF( UPPER ) THEN |
* |
* |
* Solve A*X = B where A = U'*U. |
* Solve A*X = B where A = U**H *U. |
* |
* |
DO 10 J = 1, NRHS |
DO 10 J = 1, NRHS |
* |
* |
* Solve U'*X = B, overwriting B with X. |
* Solve U**H *X = B, overwriting B with X. |
* |
* |
CALL ZTBSV( 'Upper', 'Conjugate transpose', 'Non-unit', N, |
CALL ZTBSV( 'Upper', 'Conjugate transpose', 'Non-unit', N, |
$ KD, AB, LDAB, B( 1, J ), 1 ) |
$ KD, AB, LDAB, B( 1, J ), 1 ) |
Line 123
|
Line 123
|
10 CONTINUE |
10 CONTINUE |
ELSE |
ELSE |
* |
* |
* Solve A*X = B where A = L*L'. |
* Solve A*X = B where A = L*L**H. |
* |
* |
DO 20 J = 1, NRHS |
DO 20 J = 1, NRHS |
* |
* |
Line 132
|
Line 132
|
CALL ZTBSV( 'Lower', 'No transpose', 'Non-unit', N, KD, AB, |
CALL ZTBSV( 'Lower', 'No transpose', 'Non-unit', N, KD, AB, |
$ LDAB, B( 1, J ), 1 ) |
$ LDAB, B( 1, J ), 1 ) |
* |
* |
* Solve L'*X = B, overwriting B with X. |
* Solve L**H *X = B, overwriting B with X. |
* |
* |
CALL ZTBSV( 'Lower', 'Conjugate transpose', 'Non-unit', N, |
CALL ZTBSV( 'Lower', 'Conjugate transpose', 'Non-unit', N, |
$ KD, AB, LDAB, B( 1, J ), 1 ) |
$ KD, AB, LDAB, B( 1, J ), 1 ) |