laqr1#
Functions
-
void slaqr1(const INT n, const f32 *H, const INT ldh, const f32 sr1, const f32 si1, const f32 sr2, const f32 si2, f32 *v)#
Given a 2-by-2 or 3-by-3 matrix H, SLAQR1 sets v to a scalar multiple of the first column of the product.
K = (H - (sr1 + i*si1)*I)*(H - (sr2 + i*si2)*I)
scaling to avoid overflows and most underflows. It is assumed that either
1) sr1 = sr2 and si1 = -si2 or 2) si1 = si2 = 0.
This is useful for starting double implicit shift bulges in the QR algorithm.
Parameters
innOrder of the matrix H. n must be either 2 or 3.
inHDouble precision array, dimension (ldh, n). The 2-by-2 or 3-by-3 matrix H.
inldhLeading dimension of H. ldh >= n.
insr1Real part of first shift.
insi1Imaginary part of first shift.
insr2Real part of second shift.
insi2Imaginary part of second shift.
outvDouble precision array, dimension (n). A scalar multiple of the first column of the matrix K.
void slaqr1(
const INT n,
const f32* H,
const INT ldh,
const f32 sr1,
const f32 si1,
const f32 sr2,
const f32 si2,
f32* v
);
Functions
-
void dlaqr1(const INT n, const f64 *H, const INT ldh, const f64 sr1, const f64 si1, const f64 sr2, const f64 si2, f64 *v)#
Given a 2-by-2 or 3-by-3 matrix H, DLAQR1 sets v to a scalar multiple of the first column of the product.
K = (H - (sr1 + i*si1)*I)*(H - (sr2 + i*si2)*I)
scaling to avoid overflows and most underflows. It is assumed that either
1) sr1 = sr2 and si1 = -si2 or 2) si1 = si2 = 0.
This is useful for starting f64 implicit shift bulges in the QR algorithm.
Parameters
innOrder of the matrix H. n must be either 2 or 3.
inHDouble precision array, dimension (ldh, n). The 2-by-2 or 3-by-3 matrix H.
inldhLeading dimension of H. ldh >= n.
insr1Real part of first shift.
insi1Imaginary part of first shift.
insr2Real part of second shift.
insi2Imaginary part of second shift.
outvDouble precision array, dimension (n). A scalar multiple of the first column of the matrix K.
void dlaqr1(
const INT n,
const f64* H,
const INT ldh,
const f64 sr1,
const f64 si1,
const f64 sr2,
const f64 si2,
f64* v
);
Functions
-
void claqr1(const INT n, const c64 *H, const INT ldh, const c64 s1, const c64 s2, c64 *v)#
Given a 2-by-2 or 3-by-3 matrix H, CLAQR1 sets v to a scalar multiple of the first column of the product.
K = (H - s1*I)*(H - s2*I)
scaling to avoid overflows and most underflows.
This is useful for starting f32 implicit shift bulges in the QR algorithm.
Parameters
innOrder of the matrix H. n must be either 2 or 3.
inHComplex array, dimension (ldh, n). The 2-by-2 or 3-by-3 matrix H.
inldhLeading dimension of H. ldh >= n.
ins1First shift.
ins2Second shift.
outvComplex array, dimension (n). A scalar multiple of the first column of the matrix K.
void claqr1(
const INT n,
const c64* H,
const INT ldh,
const c64 s1,
const c64 s2,
c64* v
);
Functions
-
void zlaqr1(const INT n, const c128 *H, const INT ldh, const c128 s1, const c128 s2, c128 *v)#
Given a 2-by-2 or 3-by-3 matrix H, ZLAQR1 sets v to a scalar multiple of the first column of the product.
K = (H - s1*I)*(H - s2*I)
scaling to avoid overflows and most underflows.
This is useful for starting f64 implicit shift bulges in the QR algorithm.
Parameters
innOrder of the matrix H. n must be either 2 or 3.
inHComplex array, dimension (ldh, n). The 2-by-2 or 3-by-3 matrix H.
inldhLeading dimension of H. ldh >= n.
ins1First shift.
ins2Second shift.
outvComplex array, dimension (n). A scalar multiple of the first column of the matrix K.
void zlaqr1(
const INT n,
const c128* H,
const INT ldh,
const c128 s1,
const c128 s2,
c128* v
);