rotmg(3)
π rotmg(3) β Library Functions Manual π
okay bestie, we're in the Library Functions Manual for rotmg(3), and this page is all about making modified (fast) plane rotations happen. It's giving linear algebra but make it cute. β¨
π NAME π
rotmg β rotmg: generate modified (fast) plane rotation. Yes, it says rotmg twice, and honestly? she ate. π
β¨ SYNOPSIS β¨
π Functions π
subroutine drotmg (dd1, dd2, dx1, dy1, dparam)βDROTMGsubroutine srotmg (sd1, sd2, sx1, sy1, sparam)βSROTMG
π¦ Detailed Description π¦
okay so the Detailed Description is literally just the heading before the function docs β no extra lore, no hidden side quest. The real tea is right below. π
πΈ Function Documentation πΈ
π subroutine drotmg (double precision dd1, double precision dd2, double precision dx1, double precision dy1, double precision, dimension(5) dparam) π
DROTMG
π₯ Purpose π₯
bestie, here's the Purpose block exactly as the source serves it, because the matrix forms are the whole moment:
!>
!> CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS
!> THE SECOND COMPONENT OF THE 2-VECTOR (DSQRT(DD1)*DX1,DSQRT(DD2)*> DY2)**T.
!> WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS..
!>
!> DFLAG=-1.D0 DFLAG=0.D0 DFLAG=1.D0 DFLAG=-2.D0
!>
!> (DH11 DH12) (1.D0 DH12) (DH11 1.D0) (1.D0 0.D0)
!> H=( ) ( ) ( ) ( )
!> (DH21 DH22), (DH21 1.D0), (-1.D0 DH22), (0.D0 1.D0).
!> LOCATIONS 2-4 OF DPARAM CONTAIN DH11, DH21, DH12, AND DH22
!> RESPECTIVELY. (VALUES OF 1.D0, -1.D0, OR 0.D0 IMPLIED BY THE
!> VALUE OF DPARAM(1) ARE NOT STORED IN DPARAM.)
!>
!> THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE
!> INEXACT. THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE
!> OF DD1 AND DD2. ALL ACTUAL SCALING OF DATA IS DONE USING GAM.
!>
!>
Translation for the group chat: it constructs the modified Givens transformation matrix H that zeros the second component of the 2-vector (DSQRT(DD1)*DX1,DSQRT(DD2)*> DY2)**T. β yes, that > is in the original, and we're keeping it exactly. With DPARAM(1)=DFLAG, H has one of the forms above. Locations 2-4 of DPARAM contain DH11, DH21, DH12, and DH22 respectively, and the 1.D0, -1.D0, or 0.D0 values implied by DPARAM(1) are not stored in DPARAM. Also: GAMSQ and RGAMSQ set in the DATA statement may be inexact β that's okay because they're only used for testing the size of DD1 and DD2; all actual scaling of data is done using GAM.
π Parameters π
DD1β yup,DD1 is DOUBLE PRECISION.DD2βDD2 is DOUBLE PRECISION.DX1βDX1 is DOUBLE PRECISION.DY1βDY1 is DOUBLE PRECISION.DPARAMβDPARAM is DOUBLE PRECISION array, dimension (5). The slots go:DPARAM(1)=DFLAGDPARAM(2)=DH11DPARAM(3)=DH21DPARAM(4)=DH12DPARAM(5)=DH22
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition: Definition at line 89 of file drotmg.f.
π subroutine srotmg (real sd1, real sd2, real sx1, real sy1, real, dimension(5) sparam) π
SROTMG
π₯ Purpose π₯
same energy, exact block:
!>
!> CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS
!> THE SECOND COMPONENT OF THE 2-VECTOR (SQRT(SD1)*SX1,SQRT(SD2)*> SY2)**T.
!> WITH SPARAM(1)=SFLAG, H HAS ONE OF THE FOLLOWING FORMS..
!>
!> SFLAG=-1.E0 SFLAG=0.E0 SFLAG=1.E0 SFLAG=-2.E0
!>
!> (SH11 SH12) (1.E0 SH12) (SH11 1.E0) (1.E0 0.E0)
!> H=( ) ( ) ( ) ( )
!> (SH21 SH22), (SH21 1.E0), (-1.E0 SH22), (0.E0 1.E0).
!> LOCATIONS 2-4 OF SPARAM CONTAIN SH11,SH21,SH12, AND SH22
!> RESPECTIVELY. (VALUES OF 1.E0, -1.E0, OR 0.E0 IMPLIED BY THE
!> VALUE OF SPARAM(1) ARE NOT STORED IN SPARAM.)
!>
!> THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE
!> INEXACT. THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE
!> OF SD1 AND SD2. ALL ACTUAL SCALING OF DATA IS DONE USING GAM.
!>
!>
Translation: it constructs the modified Givens transformation matrix H that zeros the second component of the 2-vector (SQRT(SD1)*SX1,SQRT(SD2)*> SY2)**T. β again, that > stays because it's in the original. With SPARAM(1)=SFLAG, H has one of the forms above. Locations 2-4 of SPARAM contain SH11, SH21, SH12, and SH22 respectively, and the 1.E0, -1.E0, or 0.E0 values implied by SPARAM(1) are not stored in SPARAM. Same note as before: GAMSQ and RGAMSQ set in the DATA statement may be inexact, which is fine because they're only used for testing the size of SD1 and SD2; all actual scaling of data is done using GAM.
π Parameters π
SD1βSD1 is REAL.SD2βSD2 is REAL.SX1βSX1 is REAL.SY1βSY1 is REAL.SPARAMβSPARAM is REAL array, dimension (5). The slots go:SPARAM(1)=SFLAGSPARAM(2)=SH11SPARAM(3)=SH21SPARAM(4)=SH12SPARAM(5)=SH22
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition: Definition at line 89 of file srotmg.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page, bestie π«Ά β this one is LAPACK Version 3.12.0, and the page is rotmg(3). There's no date in the footer, just those source/version vibes, and the sign-off is lowkey iconic. periodt. π
β¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms