Developer Reference for Intel® oneAPI Math Kernel Library for C
?lartgs
Generates a plane rotation designed to introduce a bulge in implicit QR iteration for the bidiagonal SVD problem.
Syntax
lapack_intLAPACKE_slartgs ( floatx , floaty , floatsigma , float*cs , float*sn );
lapack_intLAPACKE_dlartgs ( doublex , doubley , doublesigma , 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 x^{2} - sigma and x * y are 0, the rotation is by π/2
Input 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
-
REAL for slartgs DOUBLE PRECISION for dlartgs The (1,1) and (1,2) entries of an upper bidiagonal matrix, respectively.
- sigma
-
REAL for slartgs DOUBLE PRECISION for dlartgs Shift
Output Parameters
- cs
-
REAL for slartgs DOUBLE PRECISION for dlartgs The cosine of the rotation.
- sn
-
REAL for slartgs DOUBLE PRECISION for dlartgs The sine of the rotation.
Return Values
If info = 0 , the execution is successful.
If info = - 1 , x is NaN.
If info = - 2 , y is NaN.
If info = - 3 , sigma is NaN.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.
- ?lartg