Diff for /rpl/lapack/lapack/dgsvj1.f between versions 1.3 and 1.4

version 1.3, 2010/08/13 21:03:46 version 1.4, 2010/12/21 13:48:05
Line 1 Line 1
       SUBROUTINE DGSVJ1( JOBV, M, N, N1, A, LDA, D, SVA, MV, V, LDV,        SUBROUTINE DGSVJ1( JOBV, M, N, N1, A, LDA, D, SVA, MV, V, LDV,
      +                   EPS, SFMIN, TOL, NSWEEP, WORK, LWORK, INFO )       +                   EPS, SFMIN, TOL, NSWEEP, WORK, LWORK, INFO )
 *  *
 *  -- LAPACK routine (version 3.2.2)                                    --  *  -- LAPACK routine (version 3.3.0)                                    --
 *  *
 *  -- Contributed by Zlatko Drmac of the University of Zagreb and     --  *  -- Contributed by Zlatko Drmac of the University of Zagreb and     --
 *  -- Kresimir Veselic of the Fernuniversitaet Hagen                  --  *  -- Kresimir Veselic of the Fernuniversitaet Hagen                  --
 *  -- June 2010                                                       --  *     November 2010
 *  *
 *  -- 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..--
Line 205 Line 205
          INFO = -4           INFO = -4
       ELSE IF( LDA.LT.M ) THEN        ELSE IF( LDA.LT.M ) THEN
          INFO = -6           INFO = -6
       ELSE IF( MV.LT.0 ) THEN        ELSE IF( ( RSVEC.OR.APPLV ) .AND. ( MV.LT.0 ) ) THEN
          INFO = -9           INFO = -9
       ELSE IF( LDV.LT.M ) THEN        ELSE IF( ( RSVEC.AND.( LDV.LT.N ) ).OR. 
        &         ( APPLV.AND.( LDV.LT.MV ) )  ) THEN
          INFO = -11           INFO = -11
       ELSE IF( TOL.LE.EPS ) THEN        ELSE IF( TOL.LE.EPS ) THEN
          INFO = -14           INFO = -14
Line 406 Line 407
                                     MXSINJ = DMAX1( MXSINJ, DABS( SN ) )                                      MXSINJ = DMAX1( MXSINJ, DABS( SN ) )
                                     SVA( q ) = AAQQ*DSQRT( DMAX1( ZERO,                                      SVA( q ) = AAQQ*DSQRT( DMAX1( ZERO,
      +                                         ONE+T*APOAQ*AAPQ ) )       +                                         ONE+T*APOAQ*AAPQ ) )
                                     AAPP = AAPP*DSQRT( ONE-T*AQOAP*                                      AAPP = AAPP*DSQRT( DMAX1( ZERO, 
      +                                     AAPQ )       +                                    ONE-T*AQOAP*AAPQ ) )
   
                                     APOAQ = D( p ) / D( q )                                      APOAQ = D( p ) / D( q )
                                     AQOAP = D( q ) / D( p )                                      AQOAP = D( q ) / D( p )
Line 555 Line 556
      +                                         D( q )       +                                         D( q )
                                  ELSE                                   ELSE
                                     T = ZERO                                      T = ZERO
                                     AAQQ = ZERO                                      AAQQ = ONE
                                     CALL DLASSQ( M, A( 1, q ), 1, T,                                      CALL DLASSQ( M, A( 1, q ), 1, T,
      +                                           AAQQ )       +                                           AAQQ )
                                     SVA( q ) = T*DSQRT( AAQQ )*D( q )                                      SVA( q ) = T*DSQRT( AAQQ )*D( q )
Line 568 Line 569
      +                                     D( p )       +                                     D( p )
                                  ELSE                                   ELSE
                                     T = ZERO                                      T = ZERO
                                     AAPP = ZERO                                      AAPP = ONE
                                     CALL DLASSQ( M, A( 1, p ), 1, T,                                      CALL DLASSQ( M, A( 1, p ), 1, T,
      +                                           AAPP )       +                                           AAPP )
                                     AAPP = T*DSQRT( AAPP )*D( p )                                      AAPP = T*DSQRT( AAPP )*D( p )
Line 635 Line 636
             SVA( N ) = DNRM2( M, A( 1, N ), 1 )*D( N )              SVA( N ) = DNRM2( M, A( 1, N ), 1 )*D( N )
          ELSE           ELSE
             T = ZERO              T = ZERO
             AAPP = ZERO              AAPP = ONE
             CALL DLASSQ( M, A( 1, N ), 1, T, AAPP )              CALL DLASSQ( M, A( 1, N ), 1, T, AAPP )
             SVA( N ) = T*DSQRT( AAPP )*D( N )              SVA( N ) = T*DSQRT( AAPP )*D( N )
          END IF           END IF

Removed from v.1.3  
changed lines
  Added in v.1.4


CVSweb interface <joel.bertrand@systella.fr>