﻿ILMath.eigGen Method (InArray(complex), InArray(complex), OutArray(complex), GenEigenType, Boolean) ILMatheigGen Method (InArraycomplex, InArraycomplex, OutArraycomplex, GenEigenType, Boolean) ILNumerics Ultimate VS Documentation
ILNumerics - Technical Application Development
Computes eigenvalues and eigenvectors (optional) of symmetric/hermitian inputs A and B: A*V=lamda*B*V.

[ILNumerics Computing Engine]

Namespace: ILNumerics
Assembly: ILNumerics.Computing (in ILNumerics.Computing.dll) Version: 5.3.0.0 (5.3.7131.2749)
Syntax

```public static RetArray<double> eigGen(
InArray<complex> A,
InArray<complex> B,
OutArray<complex> V = null,
GenEigenType type = GenEigenType.Ax_eq_lambBx,
bool skipSymmCheck = false
)```

#### Parameters

A
Type: ILNumericsInArraycomplex
Square, symmetric/hermitian input matrix, size [n x n].
B
Type: ILNumericsInArraycomplex
Square, symmetric/hermitian and positive definite matrix, size [n x n].
V (Optional)
Type: ILNumericsOutArraycomplex
[Output, optional] Returns the eigenvectors in columns (size [n x n]). Default: (null) eigenvectors are not returned.
type (Optional)
Type: ILNumericsGenEigenType
[Optional] Determines the eigen problem type. Default: (null) Ax_eq_lambBx: A*V = r*B*V.
skipSymmCheck (Optional)
Type: SystemBoolean
[Optional] true: skip tests for A and B being hermitian. Default: false.

#### Return Value

Type: RetArrayDouble
Vector [n] of eigenvalues or a diagonal matrix [n,n] with the eigenvalues on the main diagonal if V is not null.
Exceptions

ExceptionCondition
ArgumentExceptionif B was not positive definite, if A and B was not of the same size, if either A and/or B was found not to be symmetric/hermitian, or if the algorithm did not converge. All exceptions will give additional error details in their exception message.
Remarks

This function solves the generalized eigenproblem A*V=lamda*B*V or the problem as specified by type.

Eigenvectors in V are not normalized! See details about the normalization performed by the underlying Lapack routines.

Internally, the generalized eigenproblem A*V = r*B*V will be reduced to B-1*A*V = r*V using cholesky factorization. The computations are handled by LAPACK functions DSYGV,SSYGV,CHEGV and ZHEGV respectively.

[ILNumerics Computing Engine]