Man Linux: Main Page and Category List

NAME

       ZROTG - construct givens plane rotation

SYNOPSIS

       subroutine zrotg(ca,cb,c,s)

           double                  complex ca,cb,s

           double                  precision c

           double                  precision norm,scale

           double                  complex alpha

           if                      (cdabs(ca) .ne. 0.0d0) go to 10

           c                       = 0.0d0

           s                       = (1.0d0,0.0d0)

           ca                      = cb

           go                      to 20

           10                      continue

           scale                   = cdabs(ca) + cdabs(cb)

           norm                    =
                                   scale*dsqrt((cdabs(ca/dcmplx(scale,0.0d0)))**2
                                   +

           *                       (cdabs(cb/dcmplx(scale,0.0d0)))**2)

           alpha                   = ca /cdabs(ca)

           c                       = cdabs(ca) / norm

           s                       = alpha * dconjg(cb) / norm

           ca                      = alpha * norm

           20                      continue

           return

           end

PURPOSE