?lartgs
?lartgs
Generates a plane rotation designed to introduce a bulge in implicit QR iteration for the bidiagonal SVD problem.
Syntax
lapack_int
LAPACKE_slartgs
(
float
x
,
float
y
,
float
sigma
,
float
*
cs
,
float
*
sn
);
lapack_int
LAPACKE_dlartgs
(
double
x
,
double
y
,
double
sigma
,
double
*
cs
,
double
*
sn
);
Include Files
- mkl.h
Description
The routine 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 that satisfies the following:
with
r
nonnegative.If - and are 0, the rotation is by
x
2
sigma
x
* y
π
/2Input Parameters
A
<datatype>
placeholder, if present, is used for the C interface data types in the C interface section above. See
C Interface Conventions
for the C interface principal conventions and type definitions.
- x,y
- The (1,1) and (1,2) entries of an upper bidiagonal matrix, respectively.
- sigma
- Shift
Output Parameters
- cs
- The cosine of the rotation.
- sn
- The sine of the rotation.
Return Values
If , the execution is successful.
info
= 0If
, info
= - 1x
is NaN.If
, info
= - 2y
is NaN.If
, info
= - 3sigma
is NaN.