--- rpl/lapack/lapack/ztzrzf.f 2010/12/21 13:53:58 1.7 +++ rpl/lapack/lapack/ztzrzf.f 2011/07/22 07:38:21 1.8 @@ -1,9 +1,10 @@ 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, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* November 2006 +* -- April 2011 -- +* @precisions normal z -> s d c * * .. Scalar Arguments .. INTEGER INFO, LDA, LWORK, M, N @@ -80,7 +81,7 @@ * * 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 ) * ( z( k ) ) * @@ -105,8 +106,8 @@ * .. * .. Local Scalars .. LOGICAL LQUERY - INTEGER I, IB, IWS, KI, KK, LDWORK, LWKOPT, M1, MU, NB, - $ NBMIN, NX + INTEGER I, IB, IWS, KI, KK, LDWORK, LWKMIN, LWKOPT, + $ M1, MU, NB, NBMIN, NX * .. * .. External Subroutines .. EXTERNAL XERBLA, ZLARZB, ZLARZT, ZLATRZ @@ -135,16 +136,18 @@ IF( INFO.EQ.0 ) THEN IF( M.EQ.0 .OR. M.EQ.N ) THEN LWKOPT = 1 + LWKMIN = 1 ELSE * * Determine the block size. * NB = ILAENV( 1, 'ZGERQF', ' ', M, N, -1, -1 ) LWKOPT = M*NB + LWKMIN = MAX( 1, M ) END IF WORK( 1 ) = LWKOPT * - IF( LWORK.LT.MAX( 1, M ) .AND. .NOT.LQUERY ) THEN + IF( LWORK.LT.LWKMIN .AND. .NOT.LQUERY ) THEN INFO = -7 END IF END IF