Matrix.EigGen Method

Overload List

#SignatureDescription
1procedure EigGen(B: TMtx; DAlpha: TVec; DBeta: TVec; Balance: TBalanceType; BInfo: TEigBalancing; rconde: TVec; rcondv: TVec; VL: TMtx; VR: TMtx);Computes generalized eigenvalues and eigenvectors of a non-symmetric matrix.
2procedure EigGen(B: TMtx; DAlpha: TVec; DBeta: TVec; VL: TMtx; VR: TMtx);Computes generalized eigenvalues and eigenvectors of a non-symmetric matrix.

Overload 1: procedure EigGen(B: TMtx; DAlpha: TVec; DBeta: TVec; Balance: TBalanceType; BInfo: TEigBalancing; rconde: TVec; rcondv: TVec; VL: TMtx; VR: TMtx);

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

#NameTypeDescription
1BTMtxsource TMtx
2DAlphaTVecsource TVec
3DBetaTVecsource TVec
4BalanceTBalanceType
5BInfoTEigBalancing
6rcondeTVecsource TVec
7rcondvTVecsource TVec
8VLTMtxsource TMtx
9VRTMtxsource TMtx

Result: stored in self (calling object)

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).

Overload 2: procedure EigGen(B: TMtx; DAlpha: TVec; DBeta: TVec; VL: TMtx; VR: TMtx);

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

#NameTypeDescription
1BTMtxsource TMtx
2DAlphaTVecsource TVec
3DBetaTVecsource TVec
4VLTMtxsource TMtx
5VRTMtxsource TMtx

Result: stored in self (calling object)

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) ;