drotg.f90 - Man Page
BLAS/SRC/drotg.f90
Synopsis
Functions/Subroutines
subroutine drotg (a, b, c, s)
DROTG
Function/Subroutine Documentation
subroutine drotg (real(wp) a, real(wp) b, real(wp) c, real(wp) s)
DROTG
Purpose:
DROTG constructs a plane rotation [ c s ] [ a ] = [ r ] [ -s c ] [ b ] [ 0 ] satisfying c**2 + s**2 = 1. The computation uses the formulas sigma = sgn(a) if |a| > |b| = sgn(b) if |b| >= |a| r = sigma*sqrt( a**2 + b**2 ) c = 1; s = 0 if r = 0 c = a/r; s = b/r if r != 0 The subroutine also computes z = s if |a| > |b|, = 1/c if |b| >= |a| and c != 0 = 1 if c = 0 This allows c and s to be reconstructed from z as follows: If z = 1, set c = 0, s = 1. If |z| < 1, set c = sqrt(1 - z**2) and s = z. If |z| > 1, set c = 1/z and s = sqrt( 1 - c**2).
- See also
lartg: generate plane rotation, more accurate than BLAS rot,
lartgp: generate plane rotation, more accurate than BLAS rot
- Parameters
A
A is DOUBLE PRECISION On entry, the scalar a. On exit, the scalar r.
B
B is DOUBLE PRECISION On entry, the scalar b. On exit, the scalar z.
C
C is DOUBLE PRECISION The scalar c.
S
S is DOUBLE PRECISION The scalar s.
- Author
Edward Anderson, Lockheed Martin
- 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 91 of file drotg.f90.
Author
Generated automatically by Doxygen for LAPACK from the source code.
Referenced By
The man page drotg(3) is an alias of drotg.f90(3).
Tue Nov 28 2023 12:08:41 Version 3.12.0 LAPACK