DROTM(3)
πΈ NAME πΈ
okay so bestie, this page is literally all about drotm.f β no cap, that's the whole name. It lives at /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/BLAS/SRC/drotm.f and the man page is filed under /home/abui...SRC/drotm.f(3) in the Library Functions Manual. Yes, the header says the same path twice, that's just how it is, we don't question it π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine DROTM (n, dx, incx, dy, incy, dparam)
That's it. That's the subroutine. Its name is DROTM, iconic, no notes π
π«Ά Function/Subroutine Documentation π«Ά
subroutine DROTM (integer n, double precision, dimension(*) dx, integer
incx, double precision, dimension(*) dy, integer incy, double precision,
dimension(5) dparam)
Again, for the people in the back: DROTM. Slay.
β Purpose β
Straight from the source, she says:
!> APPLY THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX
!>
!> (DX**T) , WHERE **T INDICATES TRANSPOSE. THE ELEMENTS OF DX ARE IN
!> (DY**T)
!>
!> DX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX .GE. 0, ELSE
!> LX = (-INCX)*N, AND SIMILARLY FOR SY USING LY AND INCY.
!> 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).
!> SEE DROTMG FOR A DESCRIPTION OF DATA STORAGE IN DPARAM.
!>
So like, the vibe is: you're applying this modified Givens transformation H to a 2-by-N matrix made of (DX**T) stacked on (DY**T) β **T means transpose, iykyk. The elements of DX sit at DX(LX+I*INCX), I = 0 TO N-1, where LX = 1 if INCX .GE. 0, otherwise LX = (-INCX)*N β and SY works the same way with LY and INCY. With DPARAM(1)=DFLAG, H takes one of those four forms up there π. And if you're curious how the data gets stored in DPARAM, go read DROTMG β she explains it, fr fr.
π Parameters π
Nβ INTEGER, the number of elements in the input vector(s). Gotta know how many, bestie.DXβ DOUBLE PRECISION array, dimension( 1 + ( N - 1 )*abs( INCX ) ). This is theDXhalf of the party.INCXβ INTEGER, the storage spacing between elements ofDX. How far apart they're sitting.DYβ DOUBLE PRECISION array, dimension( 1 + ( N - 1 )*abs( INCY ) ). TheDYhalf, matching energy.DPARAMβ DOUBLE PRECISION array, dimension(5). And here's the breakdown, literally:
DPARAM(1)=DFLAG
DPARAM(2)=DH11
DPARAM(3)=DH21
DPARAM(4)=DH12
DPARAM(5)=DH22
Each slot has a job and she does it π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 95 of file drotm.f. Noted, bookmarked, screenshotted π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. So technically the author of this particular page is Doxygen, and honestly? She ate.
okay that's the whole page bestie, every last flag and dimension and author line accounted for π«Ά
β¨ Sign-off time: this is LAPACK, Version 3.12.0, and the page file is /home/abui...SRC/drotm.f(3). Bye, love you, go transform some vectors πππ¦
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms