Matrix::EigGen Method

Overload List

#SignatureDescription
1void EigGen(TMtx *B, TVec *DAlpha, TVec *DBeta, TMtx *VL, TMtx *VR) const;Computes generalized eigenvalues and eigenvectors of a non-symmetric matrix.
2void EigGen(TMtx *B, TVec *DAlpha, TVec *DBeta) const;
3void EigGen(TMtx *B, TVec *DAlpha, TVec *DBeta, TBalanceType Balance, TEigBalancing *BInfo, TVec *rconde = null, TVec *rcondv = null, TMtx *VL = null, TMtx *VR = null) const;Computes generalized eigenvalues and eigenvectors of a non-symmetric matrix.

Overload 1: void EigGen(TMtx *B, TVec *DAlpha, TVec *DBeta, TMtx *VL, TMtx *VR) const;

Computes generalized eigenvalues and eigenvectors of a non-symmetric matrix.

#NameTypeDescription
1BTMtx *
2DAlphaTVec *
3DBetaTVec *
4VLTMtx *
5VRTMtx *
Remarks:

A generalized eigenvalue for a pair of matrices (A = Self,B) is a scalar lambda or a ratio alpha/beta = lambda, such that A - lambda*B is singular. It is usually represented as the pair (alpha,beta), as there is a reasonable interpretation for beta = 0, and even for both being zero.

The right eigenvector v(j) corresponding to the eigenvalue lambda(j) of (A,B) satisfies:

A v(j) = lambda(j) B v(j) .

The left eigenvector u(j) corresponding to the eigenvalue lambda(j) of (A,B) satisfies:

u(j)^H A = lambda(j) u(j)^H B .

where u(j)**H is the conjugate-transpose of u(j). The individual eigevalues can be computed as:

lambda(j) = dAlpha(j) / dBeta(j) ;

Declared in Dew::Math::Matrix · Dew.Math/MtxExpr.h · Cross-compiler

Overload 2: void EigGen(TMtx *B, TVec *DAlpha, TVec *DBeta) const;

#NameTypeDescription
1BTMtx *
2DAlphaTVec *
3DBetaTVec *
Declared in Dew::Math::Matrix · Dew.Math/MtxExpr.h · Cross-compiler

Overload 3: void EigGen(TMtx *B, TVec *DAlpha, TVec *DBeta, TBalanceType Balance, TEigBalancing *BInfo, TVec *rconde = null, TVec *rcondv = null, TMtx *VL = null, TMtx *VR = null) const;

Computes generalized eigenvalues and eigenvectors of a non-symmetric matrix.

#NameTypeDescription
1BTMtx *
2DAlphaTVec *
3DBetaTVec *
4BalanceTBalanceType
5BInfoTEigBalancing *
6rconde = nullTVec *
7rcondv = nullTVec *
8VL = nullTMtx *
9VR = nullTMtx *
Remarks:

Computes for a pair of N-by-N real nonsymmetric matrices (A = Self,B) the generalized eigenvalues, and optionally, the left and/or right generalized eigenvectors (VL and/or VR).

A generalized eigenvalue for a pair of matrices (A,B) is a scalar lambda or a ratio alpha/beta := lambda, such that A - lambda*B is singular. It is usually represented as the pair (alpha,beta), as there is a reasonable interpretation for beta = 0, and even for both being zero.

The right eigenvector v(j) corresponding to the eigenvalue lambda(j) of (A,B) satisfies:

A v(j) = lambda(j) B v(j) .

The left eigenvector u(j) corresponding to the eigenvalue lambda(j) of (A,B) satisfies:

u(j)^H A = lambda(j) u(j)^H B .

where u(j)**H is the conjugate-transpose of u(j). The individual eigevalues can be computed as:

lambda(j) = dAlpha(j) / dBeta(j) ;

Optionally also computes a balancing transformation to improve the conditioning of the eigenvalues and eigenvectors , reciprocal condition numbers for the eigenvalues (rconde), and reciprocal condition numbers for the right eigenvectors (rcondv).

Declared in Dew::Math::Matrix · Dew.Math/MtxExpr.h · Cross-compiler