NAME
SYNOPSIS
- SUBROUTINE DLAQR1(
-
N, H, LDH, SR1, SI1, SR2, SI2, V )
- DOUBLE
-
PRECISION SI1, SI2, SR1, SR2
- INTEGER
-
LDH, N
- DOUBLE
-
PRECISION H( LDH, * ), V( * )
- DOUBLE
-
PRECISION ZERO
- PARAMETER
-
( ZERO = 0.0d0 )
- DOUBLE
-
PRECISION H21S, H31S, S
- INTRINSIC
-
ABS
- IF(
-
N.EQ.2 ) THEN
- S
-
= ABS( H( 1, 1 )-SR2 ) + ABS( SI2 ) + ABS( H( 2, 1 ) )
- IF(
-
S.EQ.ZERO ) THEN
- V(
-
1 ) = ZERO
- V(
-
2 ) = ZERO
- ELSE
- H21S
-
= H( 2, 1 ) / S
- V(
-
1 ) = H21S*H( 1, 2 ) + ( H( 1, 1 )-SR1 )* ( ( H( 1, 1 )-SR2 ) / S ) - SI1*( SI2 / S )
- V(
-
2 ) = H21S*( H( 1, 1 )+H( 2, 2 )-SR1-SR2 )
- END
-
IF
- ELSE
- S
-
= ABS( H( 1, 1 )-SR2 ) + ABS( SI2 ) + ABS( H( 2, 1 ) ) + ABS( H( 3, 1 ) )
- IF(
-
S.EQ.ZERO ) THEN
- V(
-
1 ) = ZERO
- V(
-
2 ) = ZERO
- V(
-
3 ) = ZERO
- ELSE
- H21S
-
= H( 2, 1 ) / S
- H31S
-
= H( 3, 1 ) / S
- V(
-
1 ) = ( H( 1, 1 )-SR1 )*( ( H( 1, 1 )-SR2 ) / S ) - SI1*( SI2 / S ) + H( 1, 2 )*H21S + H( 1, 3 )*H31S
- V(
-
2 ) = H21S*( H( 1, 1 )+H( 2, 2 )-SR1-SR2 ) + H( 2, 3 )*H31S
- V(
-
3 ) = H31S*( H( 1, 1 )+H( 3, 3 )-SR1-SR2 ) + H21S*H( 3, 2 )
- END
-
IF
- END
-
IF
- END