clartg.f90(3)

NAME
clartg.f90

SYNOPSIS

  Functions/Subroutines
subroutine clartg (f, g, c, s, r)
CLARTG generates a plane rotation with real cosine and complex sine.

Function/Subroutine Documentation

  subroutine clartg (complex(wp) f, complex(wp) g, real(wp) c, complex(wp) s, complex(wp) r)

Purpose:

     CLARTG generates a plane rotation so that
        [  C         S  ] . [ F ]  =  [ R ]
        [ -conjg(S)  C  ]   [ G ]     [ 0 ]
     where C is real and C**2 + |S|**2 = 1.
     The mathematical formulas used for C and S are
        sgn(x) = {  x / |x|,   x != 0
                 {  1,         x = 0
        R = sgn(F) * sqrt(|F|**2 + |G|**2)
        C = |F| / sqrt(|F|**2 + |G|**2)
        S = sgn(F) * conjg(G) / sqrt(|F|**2 + |G|**2)
     When F and G are real, the formulas simplify to C = F/R and
     S = G/R, and the returned values of C, S, and R should be
     identical to those returned by CLARTG.
     The algorithm used to compute these quantities incorporates scaling
     to avoid overflow or underflow in computing the square root of the
     sum of squares.
     This is a faster version of the BLAS1 routine CROTG, except for
     the following differences:
        F and G are unchanged on return.
        If G=0, then C=1 and S=0.
        If F=0, then C=0 and S is chosen so that R is real.
     Below, wp=>sp stands for single precision from LA_CONSTANTS module.

Parameters
    F

              F is COMPLEX(wp)
              The first component of vector to be rotated.

    G

              G is COMPLEX(wp)
              The second component of vector to be rotated.

    C

              C is REAL(wp)
              The cosine of the rotation.

    S

              S is COMPLEX(wp)
              The sine of the rotation.

    R

              R is COMPLEX(wp)
              The nonzero component of the rotated vector.

Author
    Edward Anderson, Lockheed Martin

Date
    August 2016

Contributors:
    Weslley Pereira, University of Colorado Denver, USA

Further Details:

      Anderson E. (2017)
      Algorithm 978: Safe Scaling in the Level 1 BLAS
      ACM Trans Math Softw 44:1--28
      https://doi.org/10.1145/3061665

Definition at line 117 of file clartg.f90.

Author

Generated automatically by Doxygen for LAPACK from the source code.