Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?lartg
Generates a plane rotation with real cosine and real/complex sine.
Syntax
call slartg ( f , g , cs , sn , r )
call dlartg ( f , g , cs , sn , r )
call clartg ( f , g , cs , sn , r )
call zlartg ( f , g , cs , sn , r )
Include Files
mkl.fi
Description
slartg dlartg clartg zlartg
The routine generates a plane rotation so that
where cs^{2} + |sn|^{2} = 1
This is a slower, more accurate version of the BLAS Level 1 routine ?rotg (Computes the parameters for a Givens rotation.) , except for the following differences.
For slartg / dlartg :
f and g are unchanged on return;
If g=0 , then cs =1 and sn =0;
If f=0 and g≠ 0 , then cs=0 and sn=1 without doing any floating point operations (saves work in ?bdsqr when there are zeros on the diagonal);
If f exceeds g in magnitude, cs will be positive.
For clartg / zlartg :
f and g are unchanged on return;
If g=0 , then cs=1 and sn=0 ;
If f=0 , then cs=0 and sn is chosen so that r is real.
Input Parameters
- f , g
-
REAL for slartg DOUBLE PRECISION for dlartg COMPLEX for clartg DOUBLE COMPLEX for zlartg The first and second component of vector to be rotated.
Output Parameters
- cs
-
REAL for slartg / clartg DOUBLE PRECISION for dlartg / zlartg The cosine of the rotation.
- sn
-
REAL for slartg DOUBLE PRECISION for dlartg COMPLEX for clartg DOUBLE COMPLEX for zlartg The sine of the rotation.
- r
-
REAL for slartg DOUBLE PRECISION for dlartg COMPLEX for clartg DOUBLE COMPLEX for zlartg The nonzero component of the rotated vector.