---
name: "zlaqr1"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/zlaqr1/3lapack"
---

# zlaqr1(3lapack)

## 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
