slag2(3)

NAME

SLAG2 - compute the eigenvalues of a 2 x 2 generalized
eigenvalue problem A - w B, with scaling as necessary to avoid
over-/underflow

SYNOPSIS

SUBROUTINE SLAG2( A, LDA, B, LDB, SAFMIN, SCALE1,  SCALE2,
WR1, WR2, WI )
    INTEGER       LDA, LDB
    REAL          SAFMIN, SCALE1, SCALE2, WI, WR1, WR2
    REAL          A( LDA, * ), B( LDB, * )

PURPOSE

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 un
derflow, either.

ARGUMENTS

A (input) 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.
LDA (input) INTEGER
The leading dimension of the array A. LDA >= 2.
B (input) 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 di
agonals 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.
LDB (input) INTEGER
The leading dimension of the array B. LDB >= 2.
SAFMIN (input) REAL
The smallest positive number s.t. 1/SAFMIN does
not overflow. (This should always be SLAMCH('S') -- it is an ar
gument in order to avoid having to call SLAMCH frequently.)
SCALE1 (output) 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 threshhold if the
exact eigenvalue is sufficiently large.
SCALE2 (output) 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 eigen
values 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 threshhold if the exact
eigenvalue is sufficiently large.
WR1 (output) 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.
WR2 (output) 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.
WI (output) 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.
LAPACK version 3.0 15 June 2000
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout