.TH "lag2" 3 "Wed Feb 7 2024 11:30:40" "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME lag2 \- lag2: 2x2 eig .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "subroutine \fBdlag2\fP (a, lda, b, ldb, safmin, scale1, scale2, wr1, wr2, wi)" .br .RI "\fBDLAG2\fP computes the eigenvalues of a 2-by-2 generalized eigenvalue problem, with scaling as necessary to avoid over-/underflow\&. " .ti -1c .RI "subroutine \fBslag2\fP (a, lda, b, ldb, safmin, scale1, scale2, wr1, wr2, wi)" .br .RI "\fBSLAG2\fP computes the eigenvalues of a 2-by-2 generalized eigenvalue problem, with scaling as necessary to avoid over-/underflow\&. " .in -1c .SH "Detailed Description" .PP .SH "Function Documentation" .PP .SS "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)" .PP \fBDLAG2\fP computes the eigenvalues of a 2-by-2 generalized eigenvalue problem, with scaling as necessary to avoid over-/underflow\&. .PP \fBPurpose:\fP .RS 4 .PP .nf 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 's' 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\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIA\fP .PP .nf A is DOUBLE PRECISION array, dimension (LDA, 2) On entry, the 2 x 2 matrix A\&. It is assumed that its 1-norm is less than 1/SAFMIN\&. Entries less than sqrt(SAFMIN)*norm(A) are subject to being treated as zero\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= 2\&. .fi .PP .br \fIB\fP .PP .nf B is DOUBLE PRECISION array, dimension (LDB, 2) On entry, the 2 x 2 upper triangular matrix B\&. It is assumed that the one-norm of B is less than 1/SAFMIN\&. The diagonals should be at least sqrt(SAFMIN) times the largest element of B (in absolute value); if a diagonal is smaller than that, then +/- sqrt(SAFMIN) will be used instead of that diagonal\&. .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of the array B\&. LDB >= 2\&. .fi .PP .br \fISAFMIN\fP .PP .nf SAFMIN is DOUBLE PRECISION The smallest positive number s\&.t\&. 1/SAFMIN does not overflow\&. (This should always be DLAMCH('S') -- it is an argument in order to avoid having to call DLAMCH frequently\&.) .fi .PP .br \fISCALE1\fP .PP .nf SCALE1 is DOUBLE 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, and SCALE1 will always be positive\&. If the eigenvalues are real, then the first (real) eigenvalue is WR1 / SCALE1 , but this may overflow or underflow, and in fact, SCALE1 may be zero or less than the underflow threshold if the exact eigenvalue is sufficiently large\&. .fi .PP .br \fISCALE2\fP .PP .nf SCALE2 is DOUBLE PRECISION A scaling factor used to avoid over-/underflow in the eigenvalue equation which defines the second eigenvalue\&. If the eigenvalues are complex, then SCALE2=SCALE1\&. If the eigenvalues are real, then the second (real) eigenvalue is WR2 / SCALE2 , but this may overflow or underflow, and in fact, SCALE2 may be zero or less than the underflow threshold if the exact eigenvalue is sufficiently large\&. .fi .PP .br \fIWR1\fP .PP .nf WR1 is DOUBLE PRECISION If the eigenvalue is real, then WR1 is SCALE1 times the eigenvalue closest to the (2,2) element of A B**(-1)\&. If the eigenvalue is complex, then WR1=WR2 is SCALE1 times the real part of the eigenvalues\&. .fi .PP .br \fIWR2\fP .PP .nf WR2 is DOUBLE PRECISION If the eigenvalue is real, then WR2 is SCALE2 times the other eigenvalue\&. If the eigenvalue is complex, then WR1=WR2 is SCALE1 times the real part of the eigenvalues\&. .fi .PP .br \fIWI\fP .PP .nf WI is DOUBLE PRECISION If the eigenvalue is real, then WI is zero\&. If the eigenvalue is complex, then WI is SCALE1 times the imaginary part of the eigenvalues\&. WI will always be non-negative\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .SS "subroutine slag2 (real, dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b, integer ldb, real safmin, real scale1, real scale2, real wr1, real wr2, real wi)" .PP \fBSLAG2\fP computes the eigenvalues of a 2-by-2 generalized eigenvalue problem, with scaling as necessary to avoid over-/underflow\&. .PP \fBPurpose:\fP .RS 4 .PP .nf SLAG2 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 's' 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\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIA\fP .PP .nf A is REAL array, dimension (LDA, 2) On entry, the 2 x 2 matrix A\&. It is assumed that its 1-norm is less than 1/SAFMIN\&. Entries less than sqrt(SAFMIN)*norm(A) are subject to being treated as zero\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= 2\&. .fi .PP .br \fIB\fP .PP .nf B is REAL array, dimension (LDB, 2) On entry, the 2 x 2 upper triangular matrix B\&. It is assumed that the one-norm of B is less than 1/SAFMIN\&. The diagonals should be at least sqrt(SAFMIN) times the largest element of B (in absolute value); if a diagonal is smaller than that, then +/- sqrt(SAFMIN) will be used instead of that diagonal\&. .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of the array B\&. LDB >= 2\&. .fi .PP .br \fISAFMIN\fP .PP .nf SAFMIN is REAL The smallest positive number s\&.t\&. 1/SAFMIN does not overflow\&. (This should always be SLAMCH('S') -- it is an argument in order to avoid having to call SLAMCH frequently\&.) .fi .PP .br \fISCALE1\fP .PP .nf SCALE1 is REAL 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, and SCALE1 will always be positive\&. If the eigenvalues are real, then the first (real) eigenvalue is WR1 / SCALE1 , but this may overflow or underflow, and in fact, SCALE1 may be zero or less than the underflow threshold if the exact eigenvalue is sufficiently large\&. .fi .PP .br \fISCALE2\fP .PP .nf SCALE2 is REAL A scaling factor used to avoid over-/underflow in the eigenvalue equation which defines the second eigenvalue\&. If the eigenvalues are complex, then SCALE2=SCALE1\&. If the eigenvalues are real, then the second (real) eigenvalue is WR2 / SCALE2 , but this may overflow or underflow, and in fact, SCALE2 may be zero or less than the underflow threshold if the exact eigenvalue is sufficiently large\&. .fi .PP .br \fIWR1\fP .PP .nf WR1 is REAL If the eigenvalue is real, then WR1 is SCALE1 times the eigenvalue closest to the (2,2) element of A B**(-1)\&. If the eigenvalue is complex, then WR1=WR2 is SCALE1 times the real part of the eigenvalues\&. .fi .PP .br \fIWR2\fP .PP .nf WR2 is REAL If the eigenvalue is real, then WR2 is SCALE2 times the other eigenvalue\&. If the eigenvalue is complex, then WR1=WR2 is SCALE1 times the real part of the eigenvalues\&. .fi .PP .br \fIWI\fP .PP .nf WI is REAL If the eigenvalue is real, then WI is zero\&. If the eigenvalue is complex, then WI is SCALE1 times the imaginary part of the eigenvalues\&. WI will always be non-negative\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.