SRC/dlaev2.f(3)

okay bestie, this is the SRC/dlaev2.f(3) page β€” that’s SRC/dlaev2.f, manual section (3), library-functions-manual energy. buckle up, because this tiny subroutine is doing a whole 2-by-2 eigendecomposition and it’s honestly iconic. πŸ’…

✨ NAME ✨

SRC/dlaev2.f β€” that’s the name, bestie, no cap. πŸŽ€

πŸ¦‹ SYNOPSIS πŸ¦‹

🧸 Functions/Subroutines 🧸

  • subroutine dlaev2 (a, b, c, rt1, rt2, cs1, sn1) β€” DLAEV2 computes the eigenvalues and eigenvectors of a 2-by-2 symmetric/Hermitian matrix. slay. ✨

🌈 Function/Subroutine Documentation 🌈

subroutine dlaev2 (double precision a, double precision b, double precision c, double precision rt1, double precision rt2, double precision cs1, double precision sn1)

DLAEV2 computes the eigenvalues and eigenvectors of a 2-by-2 symmetric/Hermitian matrix. main character energy fr fr. πŸ‘‘

πŸ’« Purpose πŸ’«

DLAEV2 computes the eigendecomposition of a 2-by-2 symmetric matrix

[  A   B  ]
[  B   C  ].

On return, RT1 is the eigenvalue of larger absolute value, RT2 is the eigenvalue of smaller absolute value, and (CS1,SN1) is the unit right eigenvector for RT1, giving the decomposition

[ CS1  SN1 ] [  A   B  ] [ CS1 -SN1 ]  =  [ RT1  0  ]
[-SN1  CS1 ] [  B   C  ] [ SN1  CS1 ]     [  0  RT2 ].

πŸŽ€ Parameters πŸŽ€

  • A β€” A is DOUBLE PRECISION; it’s the (1,1) element of the 2-by-2 matrix. πŸ’–
  • B β€” B is DOUBLE PRECISION; it’s the (1,2) element and the conjugate of the (2,1) element of the 2-by-2 matrix. πŸ¦‹
  • C β€” C is DOUBLE PRECISION; it’s the (2,2) element of the 2-by-2 matrix. 🌸
  • RT1 β€” RT1 is DOUBLE PRECISION; it’s the eigenvalue of larger absolute value. πŸ‘‘
  • RT2 β€” RT2 is DOUBLE PRECISION; it’s the eigenvalue of smaller absolute value. ⭐
  • CS1 β€” CS1 is DOUBLE PRECISION. that’s the whole note, bestie. πŸ’…
  • SN1 β€” SN1 is DOUBLE PRECISION; the vector (CS1, SN1) is a unit right eigenvector for RT1. 🫢

πŸ‘‘ Author πŸ‘‘

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

πŸ” Further Details πŸ”

  • RT1 is accurate to a few ulps barring over/underflow. ✨
  • RT2 may be inaccurate if there is massive cancellation in the determinant A*C-B*B; higher precision or correctly rounded or correctly truncated arithmetic would be needed to compute RT2 accurately in all cases. 😭
  • CS1 and SN1 are accurate to a few ulps barring over/underflow. πŸ¦‹
  • Overflow is possible only if RT1 is within a factor of 5 of overflow. Underflow is harmless if the input data is 0 or exceeds underflow_threshold / macheps. πŸ’€
  • that’s the whole further-details section, and yes it’s giving β€œsmall matrix, big feelings.” 🌈

the source literally says: Definition at line 119 of file dlaev2.f. πŸ“Œ

πŸ’… Author πŸ’…

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


and that’s the whole page, bestie 🫢 the footer vibe is LAPACK Version 3.12.0 plus SRC/dlaev2.f(3); there’s no date in the footer, so I’m not making one up. byeee πŸ’‹

πŸ“¦ where this page comes from