CROTG(3) BLAS routine of NEC Numeric Library Collection CROTG(3)
NAME
CROTG - Extensions to BLAS level one rotation subroutines
SYNOPSIS
SUBROUTINE CROTG ( a, b, c, s )
COMPLEX a, b, s
REAL c
DESCRIPTION
CROTG computes the elements of a Givens plane rotation matrix such
that:
_ _ _ _ _ _
| c s | | a | | r |
|-congj(s) c | * | b | = | 0 |
- - - - - -
where r = (a / sqrt(conjg(a)*a)) * sqrt ( conjg(a)*a + conjg(b)*b ) ,
and the notation conjg(z) represents the complex conjugate of z.
The Givens plane rotation can be used to introduce zero elements into
a matrix selectively.
ARGUMENTS
a (input and output) COMPLEX
First vector component.
On input, the first component of the vector to be rotated. On
output, a is overwritten by the unique complex number r, whose
size in the complex plane is the Euclidean norm of the complex
vector (a,b), and whose direction in the complex plane is the
same as that of the original complex element a.
if |a| != 0
r = a / |a| * sqrt( conjg(a)*a + conjg(b)*b )
if |a| = 0
r = b
b (input) COMPLEX
Second vector component.
The second component of the vector to be rotated.
c (output) REAL
Cosine of the angle of rotation.
if |a| != 0
c = |a| / sqrt( conjg(a)*a + conjg(b)*b )
if |a| = 0
c = 0
s (output) COMPLEX
Sine of the angle of rotation.
if |a| != 0
c=a/|a|*conjg(b)/sqrt(conjg(a)*a+conjg(b)*b)
if |a| = 0
s = ( 1.0 , 0.0 )
NOTE
CROTG is an extension to the Level 1 Basic Linear Algebra Subprograms
(Level 1 BLAS).
SEE ALSO
CROT(3)
BLAS routine CROTG(3)