version 1.1, 2014/01/27 09:24:37
|
version 1.8, 2018/05/29 07:18:41
|
Line 2
|
Line 2
|
* |
* |
* =========== DOCUMENTATION =========== |
* =========== DOCUMENTATION =========== |
* |
* |
* Online html documentation available at |
* Online html documentation available at |
* http://www.netlib.org/lapack/explore-html/ |
* http://www.netlib.org/lapack/explore-html/ |
* |
* |
*> \htmlonly |
*> \htmlonly |
*> Download ZUNBDB1 + dependencies |
*> Download ZUNBDB1 + dependencies |
Line 20
|
Line 20
|
* |
* |
* SUBROUTINE ZUNBDB1( M, P, Q, X11, LDX11, X21, LDX21, THETA, PHI, |
* SUBROUTINE ZUNBDB1( M, P, Q, X11, LDX11, X21, LDX21, THETA, PHI, |
* TAUP1, TAUP2, TAUQ1, WORK, LWORK, INFO ) |
* TAUP1, TAUP2, TAUQ1, WORK, LWORK, INFO ) |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
* INTEGER INFO, LWORK, M, P, Q, LDX11, LDX21 |
* INTEGER INFO, LWORK, M, P, Q, LDX11, LDX21 |
* .. |
* .. |
Line 29
|
Line 29
|
* COMPLEX*16 TAUP1(*), TAUP2(*), TAUQ1(*), WORK(*), |
* COMPLEX*16 TAUP1(*), TAUP2(*), TAUQ1(*), WORK(*), |
* $ X11(LDX11,*), X21(LDX21,*) |
* $ X11(LDX11,*), X21(LDX21,*) |
* .. |
* .. |
* |
* |
* |
* |
*> \par Purpose: |
*> \par Purpose: |
*> ============= |
* ============= |
*> |
*> |
*>\verbatim |
*>\verbatim |
*> |
*> |
Line 151
|
Line 151
|
*> \verbatim |
*> \verbatim |
*> LWORK is INTEGER |
*> LWORK is INTEGER |
*> The dimension of the array WORK. LWORK >= M-Q. |
*> The dimension of the array WORK. LWORK >= M-Q. |
*> |
*> |
*> If LWORK = -1, then a workspace query is assumed; the routine |
*> If LWORK = -1, then a workspace query is assumed; the routine |
*> only calculates the optimal size of the WORK array, returns |
*> only calculates the optimal size of the WORK array, returns |
*> this value as the first entry of the WORK array, and no error |
*> this value as the first entry of the WORK array, and no error |
Line 169
|
Line 169
|
* Authors: |
* Authors: |
* ======== |
* ======== |
* |
* |
*> \author Univ. of Tennessee |
*> \author Univ. of Tennessee |
*> \author Univ. of California Berkeley |
*> \author Univ. of California Berkeley |
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date July 2012 |
*> \date July 2012 |
* |
* |
Line 203
|
Line 203
|
SUBROUTINE ZUNBDB1( M, P, Q, X11, LDX11, X21, LDX21, THETA, PHI, |
SUBROUTINE ZUNBDB1( M, P, Q, X11, LDX11, X21, LDX21, THETA, PHI, |
$ TAUP1, TAUP2, TAUQ1, WORK, LWORK, INFO ) |
$ TAUP1, TAUP2, TAUQ1, WORK, LWORK, INFO ) |
* |
* |
* -- LAPACK computational routine (version 3.5.0) -- |
* -- LAPACK computational routine (version 3.7.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..-- |
* July 2012 |
* July 2012 |
Line 308
|
Line 308
|
CALL ZLARF( 'R', M-P-I, Q-I, X21(I,I+1), LDX21, TAUQ1(I), |
CALL ZLARF( 'R', M-P-I, Q-I, X21(I,I+1), LDX21, TAUQ1(I), |
$ X21(I+1,I+1), LDX21, WORK(ILARF) ) |
$ X21(I+1,I+1), LDX21, WORK(ILARF) ) |
CALL ZLACGV( Q-I, X21(I,I+1), LDX21 ) |
CALL ZLACGV( Q-I, X21(I,I+1), LDX21 ) |
C = SQRT( DZNRM2( P-I, X11(I+1,I+1), 1, X11(I+1,I+1), |
C = SQRT( DZNRM2( P-I, X11(I+1,I+1), 1 )**2 |
$ 1 )**2 + DZNRM2( M-P-I, X21(I+1,I+1), 1, X21(I+1,I+1), |
$ + DZNRM2( M-P-I, X21(I+1,I+1), 1 )**2 ) |
$ 1 )**2 ) |
|
PHI(I) = ATAN2( S, C ) |
PHI(I) = ATAN2( S, C ) |
CALL ZUNBDB5( P-I, M-P-I, Q-I-1, X11(I+1,I+1), 1, |
CALL ZUNBDB5( P-I, M-P-I, Q-I-1, X11(I+1,I+1), 1, |
$ X21(I+1,I+1), 1, X11(I+1,I+2), LDX11, |
$ X21(I+1,I+1), 1, X11(I+1,I+2), LDX11, |