version 1.1, 2010/01/26 15:22:46
|
version 1.8, 2011/07/22 07:38:21
|
Line 1
|
Line 1
|
SUBROUTINE ZTZRZF( M, N, A, LDA, TAU, WORK, LWORK, INFO ) |
SUBROUTINE ZTZRZF( M, N, A, LDA, TAU, 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 -- |
|
* @precisions normal z -> s d c |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
INTEGER INFO, LDA, LWORK, M, N |
INTEGER INFO, LDA, LWORK, M, N |
Line 80
|
Line 81
|
* |
* |
* where |
* where |
* |
* |
* T( k ) = I - tau*u( k )*u( k )', u( k ) = ( 1 ), |
* T( k ) = I - tau*u( k )*u( k )**H, u( k ) = ( 1 ), |
* ( 0 ) |
* ( 0 ) |
* ( z( k ) ) |
* ( z( k ) ) |
* |
* |
Line 105
|
Line 106
|
* .. |
* .. |
* .. Local Scalars .. |
* .. Local Scalars .. |
LOGICAL LQUERY |
LOGICAL LQUERY |
INTEGER I, IB, IWS, KI, KK, LDWORK, LWKOPT, M1, MU, NB, |
INTEGER I, IB, IWS, KI, KK, LDWORK, LWKMIN, LWKOPT, |
$ NBMIN, NX |
$ M1, MU, NB, NBMIN, NX |
* .. |
* .. |
* .. External Subroutines .. |
* .. External Subroutines .. |
EXTERNAL XERBLA, ZLARZB, ZLARZT, ZLATRZ |
EXTERNAL XERBLA, ZLARZB, ZLARZT, ZLATRZ |
Line 135
|
Line 136
|
IF( INFO.EQ.0 ) THEN |
IF( INFO.EQ.0 ) THEN |
IF( M.EQ.0 .OR. M.EQ.N ) THEN |
IF( M.EQ.0 .OR. M.EQ.N ) THEN |
LWKOPT = 1 |
LWKOPT = 1 |
|
LWKMIN = 1 |
ELSE |
ELSE |
* |
* |
* Determine the block size. |
* Determine the block size. |
* |
* |
NB = ILAENV( 1, 'ZGERQF', ' ', M, N, -1, -1 ) |
NB = ILAENV( 1, 'ZGERQF', ' ', M, N, -1, -1 ) |
LWKOPT = M*NB |
LWKOPT = M*NB |
|
LWKMIN = MAX( 1, M ) |
END IF |
END IF |
WORK( 1 ) = LWKOPT |
WORK( 1 ) = LWKOPT |
* |
* |
IF( LWORK.LT.MAX( 1, M ) .AND. .NOT.LQUERY ) THEN |
IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN |
INFO = -7 |
INFO = -7 |
END IF |
END IF |
END IF |
END IF |