SG03BR

Compute a complex Givens rotation in real arithmetic (SG03BY version - adaptation of LAPACK ZLARTG)

[Specification] [Arguments] [Method] [References] [Comments] [Example]

Purpose

  To compute the parameters for the complex Givens rotation

     (    C      SR+SI*I )   ( XR+XI*I )   ( ZR+ZI*I )
     (                   ) * (         ) = (         )
     ( -SR+SI*I     C    )   ( YR+YI*I )   (    0    )

  where C, SR, SI, XR, XI, YR, YI, ZR, ZI are real numbers, I is the
  imaginary unit, I = SQRT(-1), and C**2 + |SR+SI*I|**2 = 1.

Specification
      SUBROUTINE SG03BR( XR, XI, YR, YI, C, SR, SI, ZR, ZI )
C     .. Scalar Arguments ..
      DOUBLE PRECISION  C, SI, SR, XI, XR, YI, YR, ZI, ZR

Arguments

Input/Output Parameters

  XR, XI, (input) DOUBLE PRECISION
  YR, YI  (input) DOUBLE PRECISION
          The given real scalars XR, XI, YR, YI.

  C,      (output) DOUBLE PRECISION
  SR, SI, (output) DOUBLE PRECISION
  ZR, ZI  (output) DOUBLE PRECISION
          The computed real scalars C, SR, SI, ZR, ZI defining the
          complex Givens rotation and Z = ZR+ZI*I.

Numerical Aspects
  The subroutine avoids unnecessary overflow.

Further Comments
  In the interest of speed, this routine does not check the input
  for errors.

Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index