laein#
Functions
-
void slaein(const INT rightv, const INT noinit, const INT n, const f32 *restrict H, const INT ldh, const f32 wr, const f32 wi, f32 *restrict vr, f32 *restrict vi, f32 *restrict B, const INT ldb, f32 *restrict work, const f32 eps3, const f32 smlnum, const f32 bignum, INT *info)#
SLAEIN uses inverse iteration to find a right or left eigenvector corresponding to the eigenvalue (wr, wi) of a real upper Hessenberg matrix H.
Parameters
inrightvIf nonzero, compute right eigenvector; if zero, compute left eigenvector.
innoinitIf nonzero, no initial vector supplied in (vr,vi); if zero, initial vector supplied in (vr,vi).
innThe order of the matrix H (n >= 0).
inHUpper Hessenberg matrix H. Array of dimension (ldh, n).
inldhThe leading dimension of H (ldh >= max(1,n)).
inwrThe real part of the eigenvalue.
inwiThe imaginary part of the eigenvalue.
inoutvrReal part of eigenvector. Array of dimension n. On exit, if wi = 0.0, vr contains the computed real eigenvector; if wi != 0.0, vr contains the real part of the computed complex eigenvector.
inoutviImaginary part of eigenvector. Array of dimension n. Not referenced if wi = 0.0.
outBWorkspace array of dimension (ldb, n).
inldbThe leading dimension of B (ldb >= n+1).
outworkWorkspace array of dimension n.
ineps3A small machine-dependent value used to perturb close eigenvalues and replace zero pivots.
insmlnumA machine-dependent value close to underflow threshold.
inbignumA machine-dependent value close to overflow threshold.
outinfo= 0: successful exit
= 1: inverse iteration did not converge; vr is set to the last iterate.
void slaein(
const INT rightv,
const INT noinit,
const INT n,
const f32* restrict H,
const INT ldh,
const f32 wr,
const f32 wi,
f32* restrict vr,
f32* restrict vi,
f32* restrict B,
const INT ldb,
f32* restrict work,
const f32 eps3,
const f32 smlnum,
const f32 bignum,
INT* info
);
Functions
-
void dlaein(const INT rightv, const INT noinit, const INT n, const f64 *restrict H, const INT ldh, const f64 wr, const f64 wi, f64 *restrict vr, f64 *restrict vi, f64 *restrict B, const INT ldb, f64 *restrict work, const f64 eps3, const f64 smlnum, const f64 bignum, INT *info)#
DLAEIN uses inverse iteration to find a right or left eigenvector corresponding to the eigenvalue (wr, wi) of a real upper Hessenberg matrix H.
Parameters
inrightvIf nonzero, compute right eigenvector; if zero, compute left eigenvector.
innoinitIf nonzero, no initial vector supplied in (vr,vi); if zero, initial vector supplied in (vr,vi).
innThe order of the matrix H (n >= 0).
inHUpper Hessenberg matrix H. Array of dimension (ldh, n).
inldhThe leading dimension of H (ldh >= max(1,n)).
inwrThe real part of the eigenvalue.
inwiThe imaginary part of the eigenvalue.
inoutvrReal part of eigenvector. Array of dimension n. On exit, if wi = 0.0, vr contains the computed real eigenvector; if wi != 0.0, vr contains the real part of the computed complex eigenvector.
inoutviImaginary part of eigenvector. Array of dimension n. Not referenced if wi = 0.0.
outBWorkspace array of dimension (ldb, n).
inldbThe leading dimension of B (ldb >= n+1).
outworkWorkspace array of dimension n.
ineps3A small machine-dependent value used to perturb close eigenvalues and replace zero pivots.
insmlnumA machine-dependent value close to underflow threshold.
inbignumA machine-dependent value close to overflow threshold.
outinfo= 0: successful exit
= 1: inverse iteration did not converge; vr is set to the last iterate.
void dlaein(
const INT rightv,
const INT noinit,
const INT n,
const f64* restrict H,
const INT ldh,
const f64 wr,
const f64 wi,
f64* restrict vr,
f64* restrict vi,
f64* restrict B,
const INT ldb,
f64* restrict work,
const f64 eps3,
const f64 smlnum,
const f64 bignum,
INT* info
);
Functions
-
void claein(const INT rightv, const INT noinit, const INT n, const c64 *restrict H, const INT ldh, const c64 w, c64 *restrict V, c64 *restrict B, const INT ldb, f32 *restrict rwork, const f32 eps3, const f32 smlnum, INT *info)#
CLAEIN uses inverse iteration to find a right or left eigenvector corresponding to the eigenvalue W of a complex upper Hessenberg matrix H.
Parameters
inrightvIf nonzero, compute right eigenvector; if zero, compute left eigenvector.
innoinitIf nonzero, no initial vector supplied in V; if zero, initial vector supplied in V.
innThe order of the matrix H. N >= 0.
inHComplex array, dimension (ldh, n). The upper Hessenberg matrix H.
inldhThe leading dimension of H. ldh >= max(1,n).
inwThe eigenvalue of H whose corresponding right or left eigenvector is to be computed.
inoutVComplex array, dimension (n). On entry, if noinit = 0, V must contain a starting vector for inverse iteration; otherwise V need not be set. On exit, V contains the computed eigenvector, normalized so that the component of largest magnitude has magnitude 1; here the magnitude of a complex number (x,y) is taken to be |x| + |y|.
outBComplex array, dimension (ldb, n).
inldbThe leading dimension of B. ldb >= max(1,n).
outrworkSingle precision array, dimension (n).
ineps3A small machine-dependent value which is used to perturb close eigenvalues, and to replace zero pivots.
insmlnumA machine-dependent value close to the underflow threshold.
outinfo= 0: successful exit = 1: inverse iteration did not converge; V is set to the last iterate.
void claein(
const INT rightv,
const INT noinit,
const INT n,
const c64* restrict H,
const INT ldh,
const c64 w,
c64* restrict V,
c64* restrict B,
const INT ldb,
f32* restrict rwork,
const f32 eps3,
const f32 smlnum,
INT* info
);
Functions
-
void zlaein(const INT rightv, const INT noinit, const INT n, const c128 *restrict H, const INT ldh, const c128 w, c128 *restrict V, c128 *restrict B, const INT ldb, f64 *restrict rwork, const f64 eps3, const f64 smlnum, INT *info)#
ZLAEIN uses inverse iteration to find a right or left eigenvector corresponding to the eigenvalue W of a complex upper Hessenberg matrix H.
Parameters
inrightvIf nonzero, compute right eigenvector; if zero, compute left eigenvector.
innoinitIf nonzero, no initial vector supplied in V; if zero, initial vector supplied in V.
innThe order of the matrix H. N >= 0.
inHComplex array, dimension (ldh, n). The upper Hessenberg matrix H.
inldhThe leading dimension of H. ldh >= max(1,n).
inwThe eigenvalue of H whose corresponding right or left eigenvector is to be computed.
inoutVComplex array, dimension (n). On entry, if noinit = 0, V must contain a starting vector for inverse iteration; otherwise V need not be set. On exit, V contains the computed eigenvector, normalized so that the component of largest magnitude has magnitude 1; here the magnitude of a complex number (x,y) is taken to be |x| + |y|.
outBComplex array, dimension (ldb, n).
inldbThe leading dimension of B. ldb >= max(1,n).
outrworkDouble precision array, dimension (n).
ineps3A small machine-dependent value which is used to perturb close eigenvalues, and to replace zero pivots.
insmlnumA machine-dependent value close to the underflow threshold.
outinfo= 0: successful exit = 1: inverse iteration did not converge; V is set to the last iterate.
void zlaein(
const INT rightv,
const INT noinit,
const INT n,
const c128* restrict H,
const INT ldh,
const c128 w,
c128* restrict V,
c128* restrict B,
const INT ldb,
f64* restrict rwork,
const f64 eps3,
const f64 smlnum,
INT* info
);