@@ -533,11 +533,13 @@ SUBROUTINE ZLAQR5( WANTT, WANTZ, KACC22, N, KTOP, KBOT, NSHFTS, S,
533533* . Mth bulge. Exploit fact that first two elements
534534* . of row are actually zero. ====
535535*
536- REFSUM = V( 1 , M )* V( 3 , M )* H( K+3 , K+2 )
537- H( K+3 , K ) = - REFSUM
538- H( K+3 , K+1 ) = - REFSUM* DCONJG( V( 2 , M ) )
539- H( K+3 , K+2 ) = H( K+3 , K+2 ) -
540- $ REFSUM* DCONJG( V( 3 , M ) )
536+ T1 = V( 1 , M )
537+ T2 = T1* DCONJG( V( 2 , M ) )
538+ T3 = T1* DCONJG( V( 3 , M ) )
539+ REFSUM = V( 3 , M )* H( K+3 , K+2 )
540+ H( K+3 , K ) = - REFSUM* T1
541+ H( K+3 , K+1 ) = - REFSUM* T2
542+ H( K+3 , K+2 ) = H( K+3 , K+2 ) - REFSUM* T3
541543*
542544* ==== Calculate reflection to move
543545* . Mth bulge one step. ====
@@ -572,12 +574,13 @@ SUBROUTINE ZLAQR5( WANTT, WANTZ, KACC22, N, KTOP, KBOT, NSHFTS, S,
572574 $ S( 2 * M ), VT )
573575 ALPHA = VT( 1 )
574576 CALL ZLARFG( 3 , ALPHA, VT( 2 ), 1 , VT( 1 ) )
575- REFSUM = DCONJG( VT( 1 ) )*
576- $ ( H( K+1 , K )+ DCONJG( VT( 2 ) )*
577- $ H( K+2 , K ) )
577+ T1 = DCONJG( VT( 1 ) )
578+ T2 = T1* VT( 2 )
579+ T3 = T1* VT( 3 )
580+ REFSUM = H( K+1 , K )+ DCONJG( VT( 2 ) )* H( K+2 , K )
578581*
579- IF ( CABS1( H( K+2 , K )- REFSUM* VT( 2 ) )+
580- $ CABS1( REFSUM* VT( 3 ) ).GT. ULP*
582+ IF ( CABS1( H( K+2 , K )- REFSUM* T2 )+
583+ $ CABS1( REFSUM* T3 ).GT. ULP*
581584 $ ( CABS1( H( K, K ) )+ CABS1( H( K+1 ,
582585 $ K+1 ) )+ CABS1( H( K+2 , K+2 ) ) ) ) THEN
583586*
@@ -595,7 +598,7 @@ SUBROUTINE ZLAQR5( WANTT, WANTZ, KACC22, N, KTOP, KBOT, NSHFTS, S,
595598* . Replace the old reflector with
596599* . the new one. ====
597600*
598- H( K+1 , K ) = H( K+1 , K ) - REFSUM
601+ H( K+1 , K ) = H( K+1 , K ) - REFSUM* T1
599602 H( K+2 , K ) = ZERO
600603 H( K+3 , K ) = ZERO
601604 V( 1 , M ) = VT( 1 )
0 commit comments