Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?lartgs

Generates a plane rotation designed to introduce a bulge in implicit QR iteration for the bidiagonal SVD problem.

Syntax

lapack_int LAPACKE_slartgs (floatx, floaty, floatsigma, float* cs, float* sn);

lapack_int LAPACKE_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:


Equation

with r nonnegative.

If x2 - 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

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 info = 0, the execution is successful.

If info = - 1, x is NaN.

If info = - 2, y is NaN.

If info = - 3, sigma is NaN.

See Also