Intel® oneAPI Math Kernel Library Developer Reference - Fortran
Generates a plane rotation with real cosine and real/complex sine.
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 )
The routine generates a plane rotation so that
where cs2 + |sn|2 = 1
This is a slower, more accurate version of the BLAS Level 1 routine ?rotg, 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.
REAL for slartg
DOUBLE PRECISION for dlartg
COMPLEX for clartg
DOUBLE COMPLEX for zlartg
The first and second component of vector to be rotated.
REAL for slartg/clartg
DOUBLE PRECISION for dlartg/zlartg
The cosine of the rotation.
REAL for slartg
DOUBLE PRECISION for dlartg
COMPLEX for clartg
DOUBLE COMPLEX for zlartg
The sine of the rotation.
REAL for slartg
DOUBLE PRECISION for dlartg
COMPLEX for clartg
DOUBLE COMPLEX for zlartg
The nonzero component of the rotated vector.