drotg


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 annihilate 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.