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<fcomplex> eig( InArray<float> A, OutArray<fcomplex> V, ref MatrixProperties propsA, bool balance )
Parameters
- A
- Type: ILNumericsInArraySingle
Input: square matrix, size [n x n]. - V
- Type: ILNumericsOutArrayfcomplex
[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: RetArrayfcomplexEigenvalues 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 fcomplex, since A may be nonsymmetric. Use eigSymm(InArraySingle) 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(InArraySingle)
MathInternal.eig(InArraySingle, OutArrayfcomplex, MatrixProperties, Boolean)