GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
lartg(3) LAPACK lartg(3)

lartg - lartg: generate plane rotation, more accurate than BLAS rot


subroutine clartg (f, g, c, s, r)
CLARTG generates a plane rotation with real cosine and complex sine. subroutine dlartg (f, g, c, s, r)
DLARTG generates a plane rotation with real cosine and real sine. subroutine slartg (f, g, c, s, r)
SLARTG generates a plane rotation with real cosine and real sine. subroutine zlartg (f, g, c, s, r)
ZLARTG generates a plane rotation with real cosine and complex sine.

CLARTG generates a plane rotation with real cosine and complex sine.

Purpose:


CLARTG generates a plane rotation so that
[ C S ] . [ F ] = [ R ]
[ -conjg(S) C ] [ G ] [ 0 ]
where C is real and C**2 + |S|**2 = 1.
The mathematical formulas used for C and S are
sgn(x) = { x / |x|, x != 0
{ 1, x = 0
R = sgn(F) * sqrt(|F|**2 + |G|**2)
C = |F| / sqrt(|F|**2 + |G|**2)
S = sgn(F) * conjg(G) / sqrt(|F|**2 + |G|**2)
Special conditions:
If G=0, then C=1 and S=0.
If F=0, then C=0 and S is chosen so that R is real.
When F and G are real, the formulas simplify to C = F/R and
S = G/R, and the returned values of C, S, and R should be
identical to those returned by SLARTG.
The algorithm used to compute these quantities incorporates scaling
to avoid overflow or underflow in computing the square root of the
sum of squares.
This is the same routine CROTG fom BLAS1, except that
F and G are unchanged on return.
Below, wp=>sp stands for single precision from LA_CONSTANTS module.

Parameters

F


F is COMPLEX(wp)
The first component of vector to be rotated.

G


G is COMPLEX(wp)
The second component of vector to be rotated.

C


C is REAL(wp)
The cosine of the rotation.

S


S is COMPLEX(wp)
The sine of the rotation.

R


R is COMPLEX(wp)
The nonzero component of the rotated vector.

Author

Weslley Pereira, University of Colorado Denver, USA

Date

December 2021

Further Details:


Based on the algorithm from
Anderson E. (2017)
Algorithm 978: Safe Scaling in the Level 1 BLAS
ACM Trans Math Softw 44:1--28
https://doi.org/10.1145/3061665

Definition at line 115 of file clartg.f90.

DLARTG generates a plane rotation with real cosine and real sine.

Purpose:


DLARTG generates a plane rotation so that
[ C S ] . [ F ] = [ R ]
[ -S C ] [ G ] [ 0 ]
where C**2 + S**2 = 1.
The mathematical formulas used for C and S are
R = sign(F) * sqrt(F**2 + G**2)
C = F / R
S = G / R
Hence C >= 0. The algorithm used to compute these quantities
incorporates scaling to avoid overflow or underflow in computing the
square root of the sum of squares.
This version is discontinuous in R at F = 0 but it returns the same
C and S as ZLARTG for complex inputs (F,0) and (G,0).
This is a more accurate version of the BLAS1 routine DROTG,
with the following other differences:
F and G are unchanged on return.
If G=0, then C=1 and S=0.
If F=0 and (G .ne. 0), then C=0 and S=sign(1,G) without doing any
floating point operations (saves work in DBDSQR when
there are zeros on the diagonal).
Below, wp=>dp stands for double precision from LA_CONSTANTS module.

Parameters

F


F is REAL(wp)
The first component of vector to be rotated.

G


G is REAL(wp)
The second component of vector to be rotated.

C


C is REAL(wp)
The cosine of the rotation.

S


S is REAL(wp)
The sine of the rotation.

R


R is REAL(wp)
The nonzero component of the rotated vector.

Author

Edward Anderson, Lockheed Martin

Date

July 2016

Contributors:

Weslley Pereira, University of Colorado Denver, USA

Further Details:


Anderson E. (2017)
Algorithm 978: Safe Scaling in the Level 1 BLAS
ACM Trans Math Softw 44:1--28
https://doi.org/10.1145/3061665

Definition at line 110 of file dlartg.f90.

SLARTG generates a plane rotation with real cosine and real sine.

Purpose:


SLARTG generates a plane rotation so that
[ C S ] . [ F ] = [ R ]
[ -S C ] [ G ] [ 0 ]
where C**2 + S**2 = 1.
The mathematical formulas used for C and S are
R = sign(F) * sqrt(F**2 + G**2)
C = F / R
S = G / R
Hence C >= 0. The algorithm used to compute these quantities
incorporates scaling to avoid overflow or underflow in computing the
square root of the sum of squares.
This version is discontinuous in R at F = 0 but it returns the same
C and S as CLARTG for complex inputs (F,0) and (G,0).
This is a more accurate version of the BLAS1 routine SROTG,
with the following other differences:
F and G are unchanged on return.
If G=0, then C=1 and S=0.
If F=0 and (G .ne. 0), then C=0 and S=sign(1,G) without doing any
floating point operations (saves work in SBDSQR when
there are zeros on the diagonal).
Below, wp=>sp stands for single precision from LA_CONSTANTS module.

Parameters

F


F is REAL(wp)
The first component of vector to be rotated.

G


G is REAL(wp)
The second component of vector to be rotated.

C


C is REAL(wp)
The cosine of the rotation.

S


S is REAL(wp)
The sine of the rotation.

R


R is REAL(wp)
The nonzero component of the rotated vector.

Author

Edward Anderson, Lockheed Martin

Date

July 2016

Contributors:

Weslley Pereira, University of Colorado Denver, USA

Further Details:


Anderson E. (2017)
Algorithm 978: Safe Scaling in the Level 1 BLAS
ACM Trans Math Softw 44:1--28
https://doi.org/10.1145/3061665

Definition at line 110 of file slartg.f90.

ZLARTG generates a plane rotation with real cosine and complex sine.

Purpose:


ZLARTG generates a plane rotation so that
[ C S ] . [ F ] = [ R ]
[ -conjg(S) C ] [ G ] [ 0 ]
where C is real and C**2 + |S|**2 = 1.
The mathematical formulas used for C and S are
sgn(x) = { x / |x|, x != 0
{ 1, x = 0
R = sgn(F) * sqrt(|F|**2 + |G|**2)
C = |F| / sqrt(|F|**2 + |G|**2)
S = sgn(F) * conjg(G) / sqrt(|F|**2 + |G|**2)
Special conditions:
If G=0, then C=1 and S=0.
If F=0, then C=0 and S is chosen so that R is real.
When F and G are real, the formulas simplify to C = F/R and
S = G/R, and the returned values of C, S, and R should be
identical to those returned by DLARTG.
The algorithm used to compute these quantities incorporates scaling
to avoid overflow or underflow in computing the square root of the
sum of squares.
This is the same routine ZROTG fom BLAS1, except that
F and G are unchanged on return.
Below, wp=>dp stands for double precision from LA_CONSTANTS module.

Parameters

F


F is COMPLEX(wp)
The first component of vector to be rotated.

G


G is COMPLEX(wp)
The second component of vector to be rotated.

C


C is REAL(wp)
The cosine of the rotation.

S


S is COMPLEX(wp)
The sine of the rotation.

R


R is COMPLEX(wp)
The nonzero component of the rotated vector.

Author

Weslley Pereira, University of Colorado Denver, USA

Date

December 2021

Further Details:


Based on the algorithm from
Anderson E. (2017)
Algorithm 978: Safe Scaling in the Level 1 BLAS
ACM Trans Math Softw 44:1--28
https://doi.org/10.1145/3061665

Definition at line 115 of file zlartg.f90.

Generated automatically by Doxygen for LAPACK from the source code.

Sun Jan 12 2025 15:13:37 Version 3.12.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.