ILNumerics - Technical Application Development
Assembly: ILNumerics.Computing (in ILNumerics.Computing.dll) Version: 5.5.0.0 (5.5.7503.3146)
Eigenvalues as vector (if V is null) or as diagonoal matrix (if V was not null).
Find eigenvalues and eigenvectors of square matrix A.
[ILNumerics Computing Engine]
Namespace: ILNumerics
Assembly: ILNumerics.Computing (in ILNumerics.Computing.dll) Version: 5.5.0.0 (5.5.7503.3146)
Syntax
public static RetArray<complex> eig( InArray<double> A, OutArray<complex> V, ref MatrixProperties propsA, bool balance )
Parameters
- A
- Type: ILNumericsInArrayDouble
Input: square matrix, size [n x n]. - V
- Type: ILNumericsOutArraycomplex
[Optional] Output, matrix of eigenvectors of A. Size [n x n]. If null: do not compute. If not null on entry V returns the Eigenvectors. - propsA
- Type: ILNumericsMatrixProperties
Matrix properties, on input - if specified, will be used to choose an advantageous path to the solution. On exit will be filled according to the properties of A (symmetric | hermitian). - balance
- Type: SystemBoolean
True: permute A in order to increase the numerical stability, false: do not permute A.
Return Value
Type: RetArraycomplexEigenvalues as vector (if V is null) or as diagonoal matrix (if V was not null).
Exceptions
Exception | Condition |
---|---|
ArgumentException | if A is not a square matrix. |
Remarks
The eigenvalues of A are found by use of the Lapack functions dgeevx, sgeevx, cgeevx and zgeevx.
The matrices returned will be complex, since A may be nonsymmetric. Use eigSymm(InArrayDouble) for computing real eigenvalues of symmetric matrices.
Depending on the parameter balanceA will be balanced first. This includes permutations and scaling of A in order to improve the conditioning of the eigenvalues.
[ILNumerics Computing Engine]
See Also
Reference
MathInternal.eig(InArrayDouble)
MathInternal.eig(InArrayDouble, OutArraycomplex, MatrixProperties, Boolean)