lag2#
Functions
-
void slag2(const f32 *restrict A, const INT lda, const f32 *restrict B, const INT ldb, const f32 safmin, f32 *scale1, f32 *scale2, f32 *wr1, f32 *wr2, f32 *wi)#
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
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.s A - w B
Parameters
inA2x2 matrix A. It is assumed that its 1-norm is less than 1/SAFMIN.
inldaLeading dimension of A. lda >= 2.
inB2x2 upper triangular matrix B.
inldbLeading dimension of B. ldb >= 2.
insafminThe smallest positive number s.t. 1/SAFMIN does not overflow.
outscale1Scaling factor for the first eigenvalue.
outscale2Scaling factor for the second eigenvalue.
outwr1Real part of the first eigenvalue (scaled by scale1).
outwr2Real part of the second eigenvalue (scaled by scale2).
outwiImaginary part of eigenvalues (scaled by scale1). Non-negative.
void slag2(
const f32* restrict A,
const INT lda,
const f32* restrict B,
const INT ldb,
const f32 safmin,
f32* scale1,
f32* scale2,
f32* wr1,
f32* wr2,
f32* wi
);
Functions
-
void dlag2(const f64 *restrict A, const INT lda, const f64 *restrict B, const INT ldb, const f64 safmin, f64 *scale1, f64 *scale2, f64 *wr1, f64 *wr2, f64 *wi)#
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
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.s A - w B
Parameters
inA2x2 matrix A. It is assumed that its 1-norm is less than 1/SAFMIN.
inldaLeading dimension of A. lda >= 2.
inB2x2 upper triangular matrix B.
inldbLeading dimension of B. ldb >= 2.
insafminThe smallest positive number s.t. 1/SAFMIN does not overflow.
outscale1Scaling factor for the first eigenvalue.
outscale2Scaling factor for the second eigenvalue.
outwr1Real part of the first eigenvalue (scaled by scale1).
outwr2Real part of the second eigenvalue (scaled by scale2).
outwiImaginary part of eigenvalues (scaled by scale1). Non-negative.
void dlag2(
const f64* restrict A,
const INT lda,
const f64* restrict B,
const INT ldb,
const f64 safmin,
f64* scale1,
f64* scale2,
f64* wr1,
f64* wr2,
f64* wi
);