zrotg


NAME

zrotg - Construct a Given's plane rotation


SYNOPSIS

  SUBROUTINE ZROTG( A, B, C, S)
  DOUBLE COMPLEX A, B, S
  DOUBLE PRECISION C
 
  SUBROUTINE ZROTG_64( A, B, C, S)
  DOUBLE COMPLEX A, B, S
  DOUBLE PRECISION C
 

F95 INTERFACE

  SUBROUTINE ROTG( A, B, C, S)
  COMPLEX(8) :: A, B, S
  REAL(8) :: C
 
  SUBROUTINE ROTG_64( A, B, C, S)
  COMPLEX(8) :: A, B, S
  REAL(8) :: C
 

C INTERFACE

#include <sunperf.h>

void zrotg(doublecomplex *a, doublecomplex *b, double *c, doublecomplex *s);

void zrotg_64(doublecomplex *a, doublecomplex *b, double *c, doublecomplex *s);


PURPOSE

zrotg 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)
On exit, C and S are the elements of the rotation matrix that will be applied to annihilate B.