====================================================================
zrotg examples
====================================================================

====================================================================
Man Page Details
====================================================================

NAME
       ZROTG - Extensions to BLAS level one rotation subroutines


SYNOPSIS
           SUBROUTINE ZROTG ( a, b, c, s )

           DOUBLE COMPLEX
                        a, b, s

           DOUBLE PRECISION
                        c

DESCRIPTION
       ZROTG  computes  the  elements  of  a Givens plane rotation matrix such
       that:

            _             _    _   _    _   _
            |      c    s |    | a |    | r |
            |-congj(s)  c | *  | b | =  | 0 |
            -             -    -   -    -   -

       where r = (a / sqrt(conjg(a)*a)) * sqrt ( conjg(a)*a + conjg(b)*b ) ,
       and the notation conjg(z) represents the complex conjugate of z.

       The Givens plane rotation can be used to introduce zero elements into
       a matrix selectively.



ARGUMENTS
       a       (input and output) DOUBLE COMPLEX

               First vector component.

               On input, the first component of the vector to be rotated.   On
               output,  a is overwritten by the unique complex number r, whose
               size in the complex plane is the Euclidean norm of the  complex
               vector  (a,b),  and whose direction in the complex plane is the
               same as that of the original complex element a.

                   if |a| != 0
                   r = a / |a| * sqrt( conjg(a)*a + conjg(b)*b )

                   if |a| = 0
                   r = b

       b       (input) DOUBLE COMPLEX

               Second vector component.

               The second component of the vector to be rotated.



       c       (output) DOUBLE PRECISION

               Cosine of the angle of rotation.

                   if |a| != 0
                   c = |a| /  sqrt( conjg(a)*a + conjg(b)*b )

                   if |a| = 0
                   c = 0

       s       (output) DOUBLE COMPLEX
               Sine of the angle of rotation.

                   if |a| != 0
                   c=a/|a|*conjg(b)/sqrt(conjg(a)*a+conjg(b)*b)

                   if |a| = 0
                   s = ( 1.0 , 0.0 )

