SRC/slaev2.f(3)

πŸ’– SRC/slaev2.f πŸ’–

hey bestie!! welcome to the SRC/slaev2.f page from the Library Functions Manual ✨ this is literally the whole manual page, and we're gonna get through it together, no cap 🫢

🌸 NAME 🌸

SRC/slaev2.f β€” that's the name, that's the file, periodt πŸ’…

✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines πŸŽ€

  • subroutine slaev2 (a, b, c, rt1, rt2, cs1, sn1) β€” SLAEV2 computes the eigenvalues and eigenvectors of a 2-by-2 symmetric/Hermitian matrix. iconic behavior fr fr πŸ’–

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

🌟 subroutine slaev2 (real a, real b, real c, real rt1, real rt2, real cs1, real sn1) 🌟

SLAEV2 computes the eigenvalues and eigenvectors of a 2-by-2 symmetric/Hermitian matrix. (Yes, that's the same glow-up as the synopsis β€” the source says it twice, so we're saying it twice πŸ’…)

🌈 Purpose 🌈

okay so listen: SLAEV2 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 ].

that's the whole math tea β˜•βœ¨

πŸ“ Parameters πŸ“

  • A β€” it's REAL, and it's the (1,1) element of the 2-by-2 matrix.
  • B β€” it's REAL, and it's the (1,2) element and the conjugate of the (2,1) element of the 2-by-2 matrix.
  • C β€” it's REAL, and it's the (2,2) element of the 2-by-2 matrix.
  • RT1 β€” it's REAL, and it's the eigenvalue of larger absolute value.
  • RT2 β€” it's REAL, and it's the eigenvalue of smaller absolute value.
  • CS1 β€” it's REAL. that's the whole description bestie, no cap πŸ™ˆ
  • SN1 β€” it's REAL, and 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.

these are the legends behind it 🫢

πŸ’œ 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. (so like, be aware bestie 😭)
  • 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.
heads up: those accuracy notes are literally in the source β€” don't come for me, I'm just the messenger πŸ’€

Definition at line 119 of file slaev2.f.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


okay bestie, that's the entire page!! πŸ’– this was SRC/slaev2.f(3) from the Library Functions Manual, brought to you by LAPACK Version 3.12.0 β€” no date listed on this one, but the slay is eternal βœ¨πŸ«ΆπŸ’…

πŸ“¦ where this page comes from