ZROTG(3) BLAS routine of NEC Numeric Library Collection ZROTG(3)
NAME
ZROTG - Extensions to BLAS level one rotation subroutines
SYNOPSIS
SUBROUTINE ZROTG ( a, b, c, s )
DOUBLE COMPLEX
a, b, s
DOUBLE PRECISION
c
DESCRIPTION
ZROTG 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) DOUBLE 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) DOUBLE COMPLEX
Second vector component.
The second component of the vector to be rotated.
c (output) DOUBLE PRECISION
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) DOUBLE 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
ZROTG is an extension to the Level 1 Basic Linear Algebra Subprograms
(Level 1 BLAS).
SEE ALSO
ZROT(3)
BLAS routine ZROTG(3)