fixes to dlasyf_rook.f
authorigor175 <igor175@8a072113-8704-0410-8d35-dd094bca7971>
Thu, 1 Dec 2011 07:22:37 +0000 (07:22 +0000)
committerigor175 <igor175@8a072113-8704-0410-8d35-dd094bca7971>
Thu, 1 Dec 2011 07:22:37 +0000 (07:22 +0000)
SRC/dlasyf_rook.f

index 986839e..6c8532d 100644 (file)
 *>
 *> \verbatim
 *>
-*>  November 2011, Igor Kozachenko, University of California Berkeley
+*>   November 2011, Igor Kozachenko,
+*>                  Computer Science Division,
+*>                  University of California, Berkeley
 *>
-*>  September 2007, Craig Lucas, University of Manchester
+*>  September 2007, Sven Hammarling, Nicholas J. Higham, Craig Lucas,
+*>                  School of Mathematics,
+*>                  University of Manchester
 *>
 *> \endverbatim
 *
 *
                   IF( K.LT.N )
      $               CALL DGEMV( 'No transpose', K, N-K, -ONE,
-     $                           A( 1, K+1 ), LDA, W( IMAX, KW+1 ), LDW
+     $                           A( 1, K+1 ), LDA, W( IMAX, KW+1 ), LDW,
      $                           ONE,W( 1, KW-1 ), 1 )
 *
 *                 JMAX is the column-index of the largest off-diagonal
 *
             IF( ( KSTEP.EQ.2 ) .AND. ( P.NE.K ) ) THEN
 *
-*              Copy non-updated column KK+1 to column P
+*              Copy non-updated column K to column P
 *
-               CALL DCOPY( P-K, A( K, K ), 1, A( P, K ), LDA )
-               CALL DCOPY( N-P+1, A( P, K ), 1, A( P, P ), 1 )
+               CALL DCOPY( K-P, A( P+1, K ), 1, A( P, P+1 ), LDA )
+               CALL DCOPY( P, A( 1, K ), 1, A( 1, P ), 1 )
 *
-*              Interchange rows K and P in last K columns of A
-*              and last KK columns of W
+*              Interchange rows K and P in last N-K+1 columns of A
+*              and last N-K+2 columns of W
 *
                CALL DSWAP( N-K+1, A( K, K ), LDA, A( P, K ), LDA )
                CALL DSWAP( N-KK+1, W( K, KKW ), LDW, W( P, KKW ), LDW )
      $                     LDA )
                CALL DCOPY( KP, A( 1, KK ), 1, A( 1, KP ), 1 )
 *
-*              Interchange rows KK and KP in last KK columns of A and W
+*              Interchange rows KK and KP in last N-KK+1 columns
+*              of A and W
 *
                CALL DSWAP( N-KK+1, A( KK, KK ), LDA, A( KP, KK ), LDA )
                CALL DSWAP( N-KK+1, W( KK, KKW ), LDW, W( KP, KKW ),
 *
             IF( ( KSTEP.EQ.2 ) .AND. ( P.NE.K ) ) THEN
 *
-*              Copy non-updated column KK-1 to column P
+*              Copy non-updated column K to column P
 *
                CALL DCOPY( P-K, A( K, K ), 1, A( P, K ), LDA )
                CALL DCOPY( N-P+1, A( P, K ), 1, A( P, P ), 1 )
 *
 *              Interchange rows K and P in first K columns of A
-*              and first KK columns of W
+*              and first K+1 columns of W
 *
                CALL DSWAP( K, A( K, 1 ), LDA, A( P, 1 ), LDA )
                CALL DSWAP( KK, W( K, 1 ), LDW, W( P, 1 ), LDW )