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

# dlaqr1(3lapack)

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

  ## PURPOSE
