ZLAEV2(3)
πΈ NAME πΈ
okay so bestie, this is the Library Functions Manual page for the Fortran file below. The header grabber labels it /home/abui...RC/zlaev2.f(3), and the full NAME path is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zlaev2.f
Thatβs the whole NAME section β no cap, itβs just the path. π
β¨ SYNOPSIS β¨
β¨ Functions/Subroutines β¨
subroutine ZLAEV2 (a, b, c, rt1, rt2, cs1, sn1)β ZLAEV2 computes the eigenvalues and eigenvectors of a 2-by-2 symmetric/Hermitian matrix. Slay.
subroutine ZLAEV2 (a, b, c, rt1, rt2, cs1, sn1)
π Function/Subroutine Documentation π
subroutine ZLAEV2 (complex*16 a, complex*16 b, complex*16 c, double precision rt1, double precision rt2, double precision cs1, complex*16 sn1)
ZLAEV2 computes the eigenvalues and eigenvectors of a 2-by-2 symmetric/Hermitian matrix. Iconic behavior, honestly.
π― Purpose
okay so hereβs the main-character math. ZLAEV2 computes the eigendecomposition of a 2-by-2 Hermitian matrix:
!> ZLAEV2 computes the eigendecomposition of a 2-by-2 Hermitian matrix
!> [ A B ]
!> [ CONJG(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 CONJG(SN1) ] [ A B ] [ CS1 -CONJG(SN1) ] = [ RT1 0 ]
!> [-SN1 CS1 ] [ CONJG(B) C ] [ SN1 CS1 ] [ 0 RT2 ].
!>
So 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. That decomposition is literally right there. π
π§Έ Parameters
AβA is COMPLEX*16. Itβs the(1,1)element of the 2-by-2 matrix. πBβB is COMPLEX*16. Itβs the(1,2)element and the conjugate of the(2,1)element of the 2-by-2 matrix. π¦CβC is COMPLEX*16. 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. The main character eigenvalue, lowkey. πRT2βRT2 is DOUBLE PRECISION. Itβs the eigenvalue of smaller absolute value. πCS1βCS1 is DOUBLE PRECISION. Thatβs the whole parameter note for this one, bestie. πSN1βSN1 is COMPLEX*16. The vector(CS1, SN1)is a unit right eigenvector forRT1. Periodt. β¨
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Further Details
RT1is accurate to a few ulps barring over/underflow. β¨RT2may be inaccurate if there is massive cancellation in the determinantA*C-B*B; higher precision or correctly rounded or correctly truncated arithmetic would be needed to computeRT2accurately in all cases. This is the important caveat, bestie β donβt ignore it. πCS1andSN1are accurate to a few ulps barring over/underflow. π«Ά- Overflow is possible only if
RT1is within a factor of5of overflow. β - Underflow is harmless if the input data is
0or exceedsunderflow_threshold / macheps. π
Definition at line 120 of file zlaev2.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
mwah π β footer sign-off vibes: LAPACK Version 3.12.0, /home/abui...RC/zlaev2.f(3). Thatβs the source/version and path, periodt. π«Ά
π¦ 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