SRC/dlagv2.f(3)

NAME πŸŽ€

okay bestie, this is SRC/dlagv2.f(3), and the manual it lives under is Library Functions Manual β€” yes, the whole page is literally just SRC/dlagv2.f. It’s a LAPACK routine page for dlagv2, and it’s giving β€œsmall matrix pencil, huge main character energy.” πŸ’…

SYNOPSIS ✨

Functions/Subroutines πŸ’–

subroutine dlagv2 (a, lda, b, ldb, alphar, alphai, beta, csl, snl, csr,
     snr)
  • dlagv2 β€” DLAGV2 computes the Generalized Schur factorization of a real 2-by-2 matrix pencil (A,B) where B is upper triangular. 🫢

Function/Subroutine Documentation 🌈

Here’s the full signature, copied exactly because we do not play with code, no cap:

subroutine dlagv2 (double precision, dimension( lda, * ) a, integer lda,
     double precision, dimension( ldb, * ) b, integer ldb, double precision,
     dimension( 2 ) alphar, double precision, dimension( 2 ) alphai, double
     precision, dimension( 2 ) beta, double precision csl, double precision
     snl, double precision csr, double precision snr)

DLAGV2 computes the Generalized Schur factorization of a real 2-by-2 matrix pencil (A,B) where B is upper triangular. πŸ”₯

Purpose πŸ’œ

okay so this routine computes orthogonal (rotation) matrices given by CSL, SNL and CSR, SNR such that:

1) if the pencil (A,B) has two real eigenvalues (include 0/0 or 1/0
   types), then

   [ a11 a12 ] := [  CSL  SNL ] [ a11 a12 ] [  CSR -SNR ]
   [  0  a22 ]    [ -SNL  CSL ] [ a21 a22 ] [  SNR  CSR ]

   [ b11 b12 ] := [  CSL  SNL ] [ b11 b12 ] [  CSR -SNR ]
   [  0  b22 ]    [ -SNL  CSL ] [  0  b22 ] [  SNR  CSR ],

2) if the pencil (A,B) has a pair of complex conjugate eigenvalues,
   then

   [ a11 a12 ] := [  CSL  SNL ] [ a11 a12 ] [  CSR -SNR ]
   [ a21 a22 ]    [ -SNL  CSL ] [ a21 a22 ] [  SNR  CSR ]

   [ b11  0  ] := [  CSL  SNL ] [ b11 b12 ] [  CSR -SNR ]
   [  0  b22 ]    [ -SNL  CSL ] [  0  b22 ] [  SNR  CSR ]

   where b11 >= b22 > 0.

the way that this is all in one tiny 2-by-2 routine is genuinely iconic. πŸ‘‘

Parameters πŸ¦‹

  • A β€” DOUBLE PRECISION array, dimension (LDA, 2). On entry, the 2 x 2 matrix A. On exit, A is overwritten by the β€œA-part” of the generalized Schur form. ✨
  • LDA β€” INTEGER. The leading dimension of the array A. LDA >= 2.
  • B β€” DOUBLE PRECISION array, dimension (LDB, 2). On entry, the upper triangular 2 x 2 matrix B. On exit, B is overwritten by the β€œB-part” of the generalized Schur form. πŸŽ€
  • LDB β€” INTEGER. The leading dimension of the array B. LDB >= 2.
  • ALPHAR β€” DOUBLE PRECISION array, dimension (2). πŸ’–
  • ALPHAI β€” DOUBLE PRECISION array, dimension (2). πŸ’–
  • BETA β€” DOUBLE PRECISION array, dimension (2). (ALPHAR(k)+i*ALPHAI(k))/BETA(k) are the eigenvalues of the pencil (A,B), k=1,2, i = sqrt(-1). Note that BETA(k) may be zero. πŸ’€
  • CSL β€” DOUBLE PRECISION. The cosine of the left rotation matrix.
  • SNL β€” DOUBLE PRECISION. The sine of the left rotation matrix.
  • CSR β€” DOUBLE PRECISION. The cosine of the right rotation matrix.
  • SNR β€” DOUBLE PRECISION. The sine of the right rotation matrix.

Author 🫢

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

Contributors: 🌸

  • Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA

Definition at line 155 of file dlagv2.f. πŸ“

Author ✨ (auto-generated)

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


okay that’s the whole page, bestie β€” the footer/source/version/date line is LAPACK, Version 3.12.0, SRC/dlagv2.f(3), and it’s giving official manual-page realness. periodt. πŸ’–

πŸ“¦ where this page comes from