claqr1 (l) - Linux Manuals
Command to display claqr1 manual in Linux: $ man l claqr1
NAME
SYNOPSIS
- SUBROUTINE CLAQR1(
-
N, H, LDH, S1, S2, V )
-
COMPLEX
S1, S2
-
INTEGER
LDH, N
-
COMPLEX
H( LDH, * ), V( * )
-
COMPLEX
ZERO
-
PARAMETER
( ZERO = ( 0.0e0, 0.0e0 ) )
-
REAL
RZERO
-
PARAMETER
( RZERO = 0.0e0 )
-
COMPLEX
CDUM, H21S, H31S
-
REAL
S
-
INTRINSIC
ABS, AIMAG, REAL
-
REAL
CABS1
-
CABS1(
CDUM ) = ABS( REAL( CDUM ) ) + ABS( AIMAG( CDUM ) )
-
IF(
N.EQ.2 ) THEN
-
S
= CABS1( H( 1, 1 )-S2 ) + CABS1( H( 2, 1 ) )
-
IF(
S.EQ.RZERO ) THEN
-
V(
1 ) = ZERO
-
V(
2 ) = ZERO
-
ELSE
-
H21S
= H( 2, 1 ) / S
-
V(
1 ) = H21S*H( 1, 2 ) + ( H( 1, 1 )-S1 )*
( ( H( 1, 1 )-S2 ) / S )
-
V(
2 ) = H21S*( H( 1, 1 )+H( 2, 2 )-S1-S2 )
-
END
IF
-
ELSE
-
S
= CABS1( H( 1, 1 )-S2 ) + CABS1( H( 2, 1 ) ) +
CABS1( 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 )-S1 )*( ( H( 1, 1 )-S2 ) / S ) +
H( 1, 2 )*H21S + H( 1, 3 )*H31S
-
V(
2 ) = H21S*( H( 1, 1 )+H( 2, 2 )-S1-S2 ) + H( 2, 3 )*H31S
-
V(
3 ) = H31S*( H( 1, 1 )+H( 3, 3 )-S1-S2 ) + H21S*H( 3, 2 )
-
END
IF
-
END
IF
-
END
PURPOSE