Homepage > Man Pages > Category > Subroutines
Homepage > Man Pages > Name > Z

zlaqr1

man page of zlaqr1

zlaqr1:

```NAME
SYNOPSIS
SUBROUTINE ZLAQR1( N, H, LDH, S1, S2, V )

COMPLEX*16     S1, S2

INTEGER        LDH, N

COMPLEX*16     H( LDH, * ), V( * )

COMPLEX*16     ZERO

PARAMETER      ( ZERO = ( 0.0d0, 0.0d0 ) )

DOUBLE         PRECISION RZERO

PARAMETER      ( RZERO = 0.0d0 )

COMPLEX*16     CDUM, H21S, H31S

DOUBLE         PRECISION S

INTRINSIC      ABS, DBLE, DIMAG

DOUBLE         PRECISION CABS1

CABS1(         CDUM ) = ABS( DBLE( CDUM ) ) + ABS( DIMAG( 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
LAPACK auxiliary routine (versionMarch 2011                         ZLAQR1(3)
```