(no commit message)
authorjames <james@8a072113-8704-0410-8d35-dd094bca7971>
Tue, 18 Sep 2012 01:14:38 +0000 (01:14 +0000)
committerjames <james@8a072113-8704-0410-8d35-dd094bca7971>
Tue, 18 Sep 2012 01:14:38 +0000 (01:14 +0000)
SRC/dlasd4.f
SRC/slasd4.f
TESTING/svd.in

index 0bd1b03..13a05dd 100644 (file)
@@ -1,4 +1,4 @@
-*> \brief \b DLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by sbdsdc.
+*> \brief \b DLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by dbdsdc.
 *
 *  =========== DOCUMENTATION ===========
 *
 *
          SIGMA = D( N ) + TAU
          DO 30 J = 1, N
-            DELTA( J ) = ( D( J )-D( I ) ) - TAU
-            WORK( J ) = D( J ) + D( I ) + TAU
+            DELTA( J ) = ( D( J )-D( N ) ) - TAU
+            WORK( J ) = D( J ) + D( N ) + TAU
    30    CONTINUE
 *
 *        Evaluate PSI and the derivative DPSI
          TEMP = Z( N ) / ( DELTA( N )*WORK( N ) )
          PHI = Z( N )*TEMP
          DPHI = TEMP*TEMP
-         ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV +
-     $            ABS( TAU2 )*( DPSI+DPHI )
+         ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV  
+*    $          + ABS( TAU2 )*( DPSI+DPHI )
 *
          W = RHOINV + PHI + PSI
 *
          TEMP = Z( N ) / TAU2
          PHI = Z( N )*TEMP
          DPHI = TEMP*TEMP
-         ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV +
-     $            ABS( TAU2 )*( DPSI+DPHI )
+         ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV  
+*    $          + ABS( TAU2 )*( DPSI+DPHI )
 *
          W = RHOINV + PHI + PSI
 *
             TEMP = Z( N ) / TAU2
             PHI = Z( N )*TEMP
             DPHI = TEMP*TEMP
-            ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV +
-     $               ABS( TAU2 )*( DPSI+DPHI )
+            ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV  
+*    $             + ABS( TAU2 )*( DPSI+DPHI )
 *
             W = RHOINV + PHI + PSI
    90    CONTINUE
          DW = DPSI + DPHI + TEMP*TEMP
          TEMP = Z( II )*TEMP
          W = W + TEMP
-         ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV +
-     $            THREE*ABS( TEMP ) + ABS( TAU2 )*DW
+         ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV 
+     $          + THREE*ABS( TEMP ) 
+*    $          + ABS( TAU2 )*DW
 *
 *        Test for convergence
 *
 *
             IF( INFO.NE.0 ) THEN
 *
-*              If INFO is not 0, i.e., DLAED6 failed, switch back to 2 pole interpolation.
+*              If INFO is not 0, i.e., DLAED6 failed, switch back 
+*              to 2 pole interpolation.
 *
                SWTCH3 = .FALSE.
                INFO = 0
          DW = DPSI + DPHI + TEMP*TEMP
          TEMP = Z( II )*TEMP
          W = RHOINV + PHI + PSI + TEMP
-         ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV +
-     $            THREE*ABS( TEMP ) + ABS( TAU2 )*DW
+         ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV 
+     $          + THREE*ABS( TEMP ) 
+*    $          + ABS( TAU2 )*DW
 *
          SWTCH = .FALSE.
          IF( ORGATI ) THEN
 *
                IF( INFO.NE.0 ) THEN
 *
-*                 If INFO is not 0, i.e., DLAED6 failed, switch back to two pole interpolation
+*                 If INFO is not 0, i.e., DLAED6 failed, switch 
+*                 back to two pole interpolation
 *
                   SWTCH3 = .FALSE.
                   INFO = 0
             DW = DPSI + DPHI + TEMP*TEMP
             TEMP = Z( II )*TEMP
             W = RHOINV + PHI + PSI + TEMP
-            ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV +
-     $               THREE*ABS( TEMP ) + ABS( TAU2 )*DW
+            ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV 
+     $             + THREE*ABS( TEMP ) 
+*    $             + ABS( TAU2 )*DW
 *
             IF( W*PREW.GT.ZERO .AND. ABS( W ).GT.ABS( PREW ) / TEN )
      $         SWTCH = .NOT.SWTCH
index 7264fc9..f29559b 100644 (file)
 *
 *     .. Scalar Arguments ..
       INTEGER            I, INFO, N
-      REAL               RHO, SIGMA
+      REAL   RHO, SIGMA
 *     ..
 *     .. Array Arguments ..
-      REAL               D( * ), DELTA( * ), WORK( * ), Z( * )
+      REAL   D( * ), DELTA( * ), WORK( * ), Z( * )
 *     ..
 *
 *  =====================================================================
 *
          SIGMA = D( N ) + TAU
          DO 30 J = 1, N
-            DELTA( J ) = ( D( J )-D( I ) ) - TAU
-            WORK( J ) = D( J ) + D( I ) + TAU
+            DELTA( J ) = ( D( J )-D( N ) ) - TAU
+            WORK( J ) = D( J ) + D( N ) + TAU
    30    CONTINUE
 *
 *        Evaluate PSI and the derivative DPSI
          TEMP = Z( N ) / ( DELTA( N )*WORK( N ) )
          PHI = Z( N )*TEMP
          DPHI = TEMP*TEMP
-         ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV +
-     $            ABS( TAU2 )*( DPSI+DPHI )
+         ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV  
+*    $          + ABS( TAU2 )*( DPSI+DPHI )
 *
          W = RHOINV + PHI + PSI
 *
          TEMP = Z( N ) / TAU2
          PHI = Z( N )*TEMP
          DPHI = TEMP*TEMP
-         ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV +
-     $            ABS( TAU2 )*( DPSI+DPHI )
+         ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV  
+*    $          + ABS( TAU2 )*( DPSI+DPHI )
 *
          W = RHOINV + PHI + PSI
 *
             TEMP = Z( N ) / TAU2
             PHI = Z( N )*TEMP
             DPHI = TEMP*TEMP
-            ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV +
-     $               ABS( TAU2 )*( DPSI+DPHI )
+            ERRETM = EIGHT*( -PHI-PSI ) + ERRETM - PHI + RHOINV  
+*    $             + ABS( TAU2 )*( DPSI+DPHI )
 *
             W = RHOINV + PHI + PSI
    90    CONTINUE
          DW = DPSI + DPHI + TEMP*TEMP
          TEMP = Z( II )*TEMP
          W = W + TEMP
-         ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV +
-     $            THREE*ABS( TEMP ) + ABS( TAU2 )*DW
+         ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV 
+     $          + THREE*ABS( TEMP ) 
+*    $          + ABS( TAU2 )*DW
 *
 *        Test for convergence
 *
 *
             IF( INFO.NE.0 ) THEN
 *
-*              If INFO is not 0, i.e., SLAED6 failed, switch back to 2 pole interpolation.
+*              If INFO is not 0, i.e., SLAED6 failed, switch back 
+*              to 2 pole interpolation.
 *
                SWTCH3 = .FALSE.
                INFO = 0
          DW = DPSI + DPHI + TEMP*TEMP
          TEMP = Z( II )*TEMP
          W = RHOINV + PHI + PSI + TEMP
-         ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV +
-     $            THREE*ABS( TEMP ) + ABS( TAU2 )*DW
+         ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV 
+     $          + THREE*ABS( TEMP ) 
+*    $          + ABS( TAU2 )*DW
 *
          SWTCH = .FALSE.
          IF( ORGATI ) THEN
 *
                IF( INFO.NE.0 ) THEN
 *
-*                 If INFO is not 0, i.e., SLAED6 failed, switch back to two pole interpolation
+*                 If INFO is not 0, i.e., SLAED6 failed, switch 
+*                 back to two pole interpolation
 *
                   SWTCH3 = .FALSE.
                   INFO = 0
             DW = DPSI + DPHI + TEMP*TEMP
             TEMP = Z( II )*TEMP
             W = RHOINV + PHI + PSI + TEMP
-            ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV +
-     $               THREE*ABS( TEMP ) + ABS( TAU2 )*DW
+            ERRETM = EIGHT*( PHI-PSI ) + ERRETM + TWO*RHOINV 
+     $             + THREE*ABS( TEMP ) 
+*    $             + ABS( TAU2 )*DW
 *
             IF( W*PREW.GT.ZERO .AND. ABS( W ).GT.ABS( PREW ) / TEN )
      $         SWTCH = .NOT.SWTCH
index 0dc39b7..bc0ae2d 100644 (file)
@@ -1,7 +1,7 @@
 SVD:  Data file for testing Singular Value Decomposition routines
-18                                            Number of values of M
-0 0 0 1 1 2 2 3 3 3 10 10 16 16 30 30 40 40   Values of M
-0 1 3 1 2 0 1 0 1 3 10 16 10 16 30 40 30 40   Values of N
+19                                            Number of values of M
+0 0 0 1 1 1 2 2 3 3 3 10 10 16 16 30 30 40 40 Values of M
+0 1 3 0 1 2 0 1 0 1 3 10 16 10 16 30 40 30 40 Values of N
 5                                             Number of parameter values
 1 3  3  3 20                                  Values of NB (blocksize)
 2 2  2  2  2                                  Values of NBMIN (minimum blocksize)