slartgs - generate a plane rotation designed to introduce a bulge in implicit QR iteration for the bidiagonal SVD problem
SUBROUTINE SLARTGS( X, Y, SIGMA, CS, SN ) REAL CS, SIGMA, SN, X, Y SUBROUTINE SLARTGS_64( X, Y, SIGMA, CS, SN ) REAL CS, SIGMA, SN, X, Y F95 INTERFACE SUBROUTINE LARTGS( X, Y, SIGMA, CS, SN ) REAL :: X, Y, SIGMA, CS, SN SUBROUTINE LARTGS_64( X, Y, SIGMA, CS, SN ) REAL :: X, Y, SIGMA, CS, SN C INTERFACE #include <sunperf.h> void slartgs (float x, float y, float sigma, float *cs, float *sn); void slartgs_64 (float x, float y, float sigma, float *cs, float *sn);
Oracle Solaris Studio Performance Library slartgs(3P) NAME slartgs - generate a plane rotation designed to introduce a bulge in implicit QR iteration for the bidiagonal SVD problem SYNOPSIS SUBROUTINE SLARTGS( X, Y, SIGMA, CS, SN ) REAL CS, SIGMA, SN, X, Y SUBROUTINE SLARTGS_64( X, Y, SIGMA, CS, SN ) REAL CS, SIGMA, SN, X, Y F95 INTERFACE SUBROUTINE LARTGS( X, Y, SIGMA, CS, SN ) REAL :: X, Y, SIGMA, CS, SN SUBROUTINE LARTGS_64( X, Y, SIGMA, CS, SN ) REAL :: X, Y, SIGMA, CS, SN C INTERFACE #include <sunperf.h> void slartgs (float x, float y, float sigma, float *cs, float *sn); void slartgs_64 (float x, float y, float sigma, float *cs, float *sn); PURPOSE slartgs generates a plane rotation designed to introduce a bulge in Golub-Reinsch-style implicit QR iteration for the bidiagonal SVD prob- lem. X and Y are the top-row entries, and SIGMA is the shift. The com- puted 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. ARGUMENTS X (input) X is REAL The (1,1) entry of an upper bidiagonal matrix. Y (input) Y is REAL The (1,2) entry of an upper bidiagonal matrix. SIGMA (input) SIGMA is REAL The shift. CS (output) CS is REAL The cosine of the rotation. SN (output) SN is REAL The sine of the rotation. 7 Nov 2015 slartgs(3P)