SRC/dlag2.f(3)
π NAME π
SRC/dlag2.f β okay bestie, this is the page for SRC/dlag2.f(3) from the Library Functions Manual. Itβs giving very specific LAPACK subroutine energy, and weβre gonna get into all of it π
β¨
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine dlag2 (a, lda, b, ldb, safmin, scale1, scale2, wr1, wr2, wi)β DLAG2 computes the eigenvalues of a 2-by-2 generalized eigenvalue problem, with scaling as necessary to avoid over-/underflow.
π οΈ Function/Subroutine Documentation π οΈ
π subroutine dlag2 π
subroutine dlag2 (double precision, dimension( lda, * ) a, integer lda,
double precision, dimension( ldb, * ) b, integer ldb, double precision
safmin, double precision scale1, double precision scale2, double
precision wr1, double precision wr2, double precision wi)
DLAG2 computes the eigenvalues of a 2-by-2 generalized eigenvalue problem, with scaling as necessary to avoid over-/underflow. Literally what it says on the tin, no cap.
πΈ Purpose πΈ
Bestie, the purpose block is exactly this:
!>
!> DLAG2 computes the eigenvalues of a 2 x 2 generalized eigenvalue
!> problem A - w B, with scaling as necessary to avoid over-/underflow.
!>
!> The scaling factor results in a modified eigenvalue equation
!>
!> s A - w B
!>
!> where s is a non-negative scaling factor chosen so that w, w B,
!> and s A do not overflow and, if possible, do not underflow, either.
!>
π¦ Parameters π¦
AβAisDOUBLE PRECISIONarray, dimension(LDA, 2). On entry, the2 x 2matrixA. It is assumed that its 1-norm is less than1/SAFMIN. Entries less thansqrt(SAFMIN)*norm(A)are subject to being treated as zero.LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= 2.BβBisDOUBLE PRECISIONarray, dimension(LDB, 2). On entry, the2 x 2upper triangular matrixB. It is assumed that the one-norm ofBis less than1/SAFMIN. The diagonals should be at leastsqrt(SAFMIN)times the largest element ofB(in absolute value); if a diagonal is smaller than that, then+/- sqrt(SAFMIN)will be used instead of that diagonal.LDBβLDBisINTEGER. The leading dimension of the arrayB.LDB >= 2.SAFMINβSAFMINisDOUBLE PRECISION. The smallest positive number s.t.1/SAFMINdoes not overflow. (This should always beDLAMCH('S')-- it is an argument in order to avoid having to callDLAMCHfrequently.)SCALE1βSCALE1isDOUBLE PRECISION. A scaling factor used to avoid over-/underflow in the eigenvalue equation which defines the first eigenvalue. If the eigenvalues are complex, then the eigenvalues are( WR1 +/- WI i ) / SCALE1(which may lie outside the exponent range of the machine),SCALE1=SCALE2, andSCALE1will always be positive. If the eigenvalues are real, then the first (real) eigenvalue isWR1 / SCALE1, but this may overflow or underflow, and in fact,SCALE1may be zero or less than the underflow threshold if the exact eigenvalue is sufficiently large.SCALE2βSCALE2isDOUBLE PRECISION. A scaling factor used to avoid over-/underflow in the eigenvalue equation which defines the second eigenvalue. If the eigenvalues are complex, thenSCALE2=SCALE1. If the eigenvalues are real, then the second (real) eigenvalue isWR2 / SCALE2, but this may overflow or underflow, and in fact,SCALE2may be zero or less than the underflow threshold if the exact eigenvalue is sufficiently large.WR1βWR1isDOUBLE PRECISION. If the eigenvalue is real, thenWR1isSCALE1times the eigenvalue closest to the(2,2)element ofA B**(-1). If the eigenvalue is complex, thenWR1=WR2isSCALE1times the real part of the eigenvalues.WR2βWR2isDOUBLE PRECISION. If the eigenvalue is real, thenWR2isSCALE2times the other eigenvalue. If the eigenvalue is complex, thenWR1=WR2isSCALE1times the real part of the eigenvalues.WIβWIisDOUBLE PRECISION. If the eigenvalue is real, thenWIis zero. If the eigenvalue is complex, thenWIisSCALE1times the imaginary part of the eigenvalues.WIwill always be non-negative.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition at line 154 of file dlag2.f. π
Thatβs the exact spot: Definition at line 154 of file dlag2.f. π―
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
Thatβs the whole vibe check, bestie! This page is from LAPACK Version 3.12.0 and the file SRC/dlag2.f(3) β mwah πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms