lartgs#
Functions
-
void slartgs(const f32 x, const f32 y, const f32 sigma, f32 *cs, f32 *sn)#
SLARTGS generates a plane rotation designed to introduce a bulge in Golub-Reinsch-style implicit QR iteration for the bidiagonal SVD problem.
X and Y are the top-row entries, and SIGMA is the shift. The computed CS and SN define a plane rotation satisfying
[ CS SN ] . [ X^2 - SIGMA ] = [ R ], [ -SN CS ] [ X * Y ] [ 0 ]
with R nonnegative. If X^2 - SIGMA and X * Y are 0, then the rotation is by PI/2.
Parameters
inxThe (1,1) entry of an upper bidiagonal matrix.
inyThe (1,2) entry of an upper bidiagonal matrix.
insigmaThe shift.
outcsThe cosine of the rotation.
outsnThe sine of the rotation.
void slartgs(
const f32 x,
const f32 y,
const f32 sigma,
f32* cs,
f32* sn
);
Functions
-
void dlartgs(const f64 x, const f64 y, const f64 sigma, f64 *cs, f64 *sn)#
DLARTGS generates a plane rotation designed to introduce a bulge in Golub-Reinsch-style implicit QR iteration for the bidiagonal SVD problem.
X and Y are the top-row entries, and SIGMA is the shift. The computed CS and SN define a plane rotation satisfying
[ CS SN ] . [ X^2 - SIGMA ] = [ R ], [ -SN CS ] [ X * Y ] [ 0 ]
with R nonnegative. If X^2 - SIGMA and X * Y are 0, then the rotation is by PI/2.
Parameters
inxThe (1,1) entry of an upper bidiagonal matrix.
inyThe (1,2) entry of an upper bidiagonal matrix.
insigmaThe shift.
outcsThe cosine of the rotation.
outsnThe sine of the rotation.
void dlartgs(
const f64 x,
const f64 y,
const f64 sigma,
f64* cs,
f64* sn
);