--- rpl/lapack/lapack/dlasd6.f 2010/08/07 13:22:20 1.6 +++ rpl/lapack/lapack/dlasd6.f 2011/07/22 07:38:08 1.10 @@ -3,10 +3,10 @@ $ LDGNUM, POLES, DIFL, DIFR, Z, K, C, S, WORK, $ IWORK, INFO ) * -* -- LAPACK auxiliary routine (version 3.2.2) -- +* -- LAPACK auxiliary routine (version 3.3.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* June 2010 +* November 2010 * * .. Scalar Arguments .. INTEGER GIVPTR, ICOMPQ, INFO, K, LDGCOL, LDGNUM, NL, @@ -34,13 +34,13 @@ * * DLASD6 computes the SVD as follows: * -* ( D1(in) 0 0 0 ) -* B = U(in) * ( Z1' a Z2' b ) * VT(in) -* ( 0 0 D2(in) 0 ) +* ( D1(in) 0 0 0 ) +* B = U(in) * ( Z1**T a Z2**T b ) * VT(in) +* ( 0 0 D2(in) 0 ) * * = U(out) * ( D(out) 0) * VT(out) * -* where Z' = (Z1' a Z2' b) = u' VT', and u is a vector of dimension M +* where Z**T = (Z1**T a Z2**T b) = u**T VT**T, and u is a vector of dimension M * with ALPHA and BETA in the NL+1 and NL+2 th entries and zeros * elsewhere; and the entry b is empty if SQRE = 0. * @@ -282,6 +282,13 @@ CALL DLASD8( ICOMPQ, K, D, Z, VF, VL, DIFL, DIFR, LDGNUM, $ WORK( ISIGMA ), WORK( IW ), INFO ) * +* Handle error returned +* + IF( INFO.NE.0 ) THEN + CALL XERBLA( 'DLASD8', -INFO ) + RETURN + END IF +* * Save the poles if ICOMPQ = 1. * IF( ICOMPQ.EQ.1 ) THEN