--- rpl/lapack/lapack/dtgex2.f 2011/11/21 20:43:06 1.10 +++ rpl/lapack/lapack/dtgex2.f 2016/08/27 15:34:41 1.17 @@ -1,4 +1,4 @@ -*> \brief \b DTGEX2 +*> \brief \b DTGEX2 swaps adjacent diagonal blocks in an upper (quasi) triangular matrix pair by an orthogonal equivalence transformation. * * =========== DOCUMENTATION =========== * @@ -181,7 +181,7 @@ *> \author Univ. of Colorado Denver *> \author NAG Ltd. * -*> \date November 2011 +*> \date November 2015 * *> \ingroup doubleGEauxiliary * @@ -221,10 +221,10 @@ SUBROUTINE DTGEX2( WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, $ LDZ, J1, N1, N2, WORK, LWORK, INFO ) * -* -- LAPACK auxiliary routine (version 3.4.0) -- +* -- LAPACK auxiliary routine (version 3.6.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* November 2011 +* November 2015 * * .. Scalar Arguments .. LOGICAL WANTQ, WANTZ @@ -595,9 +595,7 @@ * * Standardize existing 2-by-2 blocks. * - DO 50 I = 1, M*M - WORK(I) = ZERO - 50 CONTINUE + CALL DLASET( 'Full', M, M, ZERO, ZERO, WORK, M ) WORK( 1 ) = ONE T( 1, 1 ) = ONE IDUM = LWORK - M*M - 2 @@ -668,7 +666,7 @@ $ A( J1, I ), LDA, ZERO, WORK, M ) CALL DLACPY( 'Full', M, N-I+1, WORK, M, A( J1, I ), LDA ) CALL DGEMM( 'T', 'N', M, N-I+1, M, ONE, LI, LDST, - $ B( J1, I ), LDA, ZERO, WORK, M ) + $ B( J1, I ), LDB, ZERO, WORK, M ) CALL DLACPY( 'Full', M, N-I+1, WORK, M, B( J1, I ), LDB ) END IF I = J1 - 1