SRC/dlartg.f90(3)

SRC/dlartg.f90(3) πŸ’…βœ¨

okay bestie, welcome to the Library Functions Manual β€” this page is SRC/dlartg.f90, and it's all about DLARTG doing plane-rotation math with real cosine and real sine. it's giving linear algebra main character energy. 🫢

🌸 NAME 🌸

SRC/dlartg.f90 πŸ’–

✨ SYNOPSIS ✨

Functions/Subroutines

  • subroutine dlartg (f, g, c, s, r) β€” DLARTG generates a plane rotation with real cosine and real sine. πŸŒ€
       subroutine dlartg (f, g, c, s, r)
           DLARTG generates a plane rotation with real cosine and real sine.

🧚 Function/Subroutine Documentation 🧚

subroutine dlartg (real(wp) f, real(wp) g, real(wp) c, real(wp) s, real(wp) r)

DLARTG generates a plane rotation with real cosine and real sine. periodt. πŸ‘‘

Purpose

okay so 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. no cap, that's the safety bit. πŸ’…

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. πŸ“

πŸ’– Author πŸ’–

Generated automatically by Doxygen for LAPACK from the source code. πŸ€–


that's the whole page, bestie β€” mwah πŸ’‹ this is LAPACK, Version 3.12.0, page SRC/dlartg.f90(3), and the doc date is July 2016. go rotate something cute. πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from