version 1.7, 2010/12/21 13:53:42
|
version 1.8, 2011/07/22 07:38:13
|
Line 1
|
Line 1
|
SUBROUTINE ZGBBRD( VECT, M, N, NCC, KL, KU, AB, LDAB, D, E, Q, |
SUBROUTINE ZGBBRD( VECT, M, N, NCC, KL, KU, AB, LDAB, D, E, Q, |
$ LDQ, PT, LDPT, C, LDC, WORK, RWORK, INFO ) |
$ LDQ, PT, LDPT, C, LDC, WORK, RWORK, 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 VECT |
CHARACTER VECT |
Line 20
|
Line 20
|
* ======= |
* ======= |
* |
* |
* ZGBBRD reduces a complex general m-by-n band matrix A to real upper |
* ZGBBRD reduces a complex general m-by-n band matrix A to real upper |
* bidiagonal form B by a unitary transformation: Q' * A * P = B. |
* bidiagonal form B by a unitary transformation: Q**H * A * P = B. |
* |
* |
* The routine computes B, and optionally forms Q or P', or computes |
* The routine computes B, and optionally forms Q or P**H, or computes |
* Q'*C for a given matrix C. |
* Q**H*C for a given matrix C. |
* |
* |
* Arguments |
* Arguments |
* ========= |
* ========= |
* |
* |
* VECT (input) CHARACTER*1 |
* VECT (input) CHARACTER*1 |
* Specifies whether or not the matrices Q and P' are to be |
* Specifies whether or not the matrices Q and P**H are to be |
* formed. |
* formed. |
* = 'N': do not form Q or P'; |
* = 'N': do not form Q or P**H; |
* = 'Q': form Q only; |
* = 'Q': form Q only; |
* = 'P': form P' only; |
* = 'P': form P**H only; |
* = 'B': form both. |
* = 'B': form both. |
* |
* |
* M (input) INTEGER |
* M (input) INTEGER |
Line 86
|
Line 86
|
* |
* |
* C (input/output) COMPLEX*16 array, dimension (LDC,NCC) |
* C (input/output) COMPLEX*16 array, dimension (LDC,NCC) |
* On entry, an m-by-ncc matrix C. |
* On entry, an m-by-ncc matrix C. |
* On exit, C is overwritten by Q'*C. |
* On exit, C is overwritten by Q**H*C. |
* C is not referenced if NCC = 0. |
* C is not referenced if NCC = 0. |
* |
* |
* LDC (input) INTEGER |
* LDC (input) INTEGER |
Line 165
|
Line 165
|
RETURN |
RETURN |
END IF |
END IF |
* |
* |
* Initialize Q and P' to the unit matrix, if needed |
* Initialize Q and P**H to the unit matrix, if needed |
* |
* |
IF( WANTQ ) |
IF( WANTQ ) |
$ CALL ZLASET( 'Full', M, M, CZERO, CONE, Q, LDQ ) |
$ CALL ZLASET( 'Full', M, M, CZERO, CONE, Q, LDQ ) |
Line 338
|
Line 338
|
* |
* |
IF( WANTPT ) THEN |
IF( WANTPT ) THEN |
* |
* |
* accumulate product of plane rotations in P' |
* accumulate product of plane rotations in P**H |
* |
* |
DO 60 J = J1, J2, KB1 |
DO 60 J = J1, J2, KB1 |
CALL ZROT( N, PT( J+KUN-1, 1 ), LDPT, |
CALL ZROT( N, PT( J+KUN-1, 1 ), LDPT, |