.TH "SRC/dlag2.f" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME SRC/dlag2.f .SH SYNOPSIS .br .PP .SS "Functions/Subroutines" .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\&. " .in -1c .SH "Function/Subroutine 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 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 .PP Definition at line \fB154\fP of file \fBdlag2\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.