crotg


NAME

crotg - Construct a Given's plane rotation


SYNOPSIS

  SUBROUTINE CROTG( A, B, C, S)
  COMPLEX A, B, S
  REAL C
 
  SUBROUTINE CROTG_64( A, B, C, S)
  COMPLEX A, B, S
  REAL C
 

F95 INTERFACE

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

C INTERFACE

#include <sunperf.h>

void crotg(complex *a, complex *b, float *c, complex *s);

void crotg_64(complex *a, complex *b, float *c, complex *s);


PURPOSE

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