Contents


NAME

     drotg - Construct a Given's plane rotation

SYNOPSIS

     SUBROUTINE DROTG(A, B, C, S)

     DOUBLE PRECISION A, B, C, S

     SUBROUTINE DROTG_64(A, B, C, S)

     DOUBLE PRECISION A, B, C, S

  F95 INTERFACE
     SUBROUTINE ROTG(A, B, C, S)

     REAL(8) :: A, B, C, S

     SUBROUTINE ROTG_64(A, B, C, S)

     REAL(8) :: A, B, C, S

  C INTERFACE
     #include <sunperf.h>

     void drotg(double *a, double *b, double *c, double *s);

     void drotg_64(double *a, double *b, double *c, double *s);

PURPOSE

     drotg Construct a Given's plane rotation that  will  annihi-
     late an element of a vector.

ARGUMENTS

     A (input/output)
               On entry, A contains the entry in the first vector
               that  corresponds to the element to be annihilated
               in the  second  vector.   On  exit,  contains  the
               nonzero element of the rotated vector.

     B (input/output)
               On entry, B contains the entry to  be  annihilated
               in  the second vector.  On exit, contains either S
               or 1/C depending on which of the input values of A
               and B is larger.

     C (output)
               On exit, C and S are the elements of the  rotation
               matrix that will be applied to annihilate B.

     S (output)
               See the description of C.