﻿ILMath.eig Method (InArray(Double), OutArray(complex), MatrixProperties, Boolean) ILNumerics Ultimate VS Documentation
ILNumerics - Technical Application Development
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: RetArraycomplex
Eigenvalues as vector (if V is null) or as diagonoal matrix (if V was not null).
Exceptions

ExceptionCondition
ArgumentExceptionif 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]