# GenEigenAB

Advanced Analysis Library Only

AnalysisLibErrType GenEigenAB (void *inputMatrixA, void *inputMatrixB, int matrixSize, NIComplexNumber eigenvalues[], void *leftEigenvectors, void *rightEigenvectors);

## Purpose

Computes the generalized eigenvalues and, optionally, the left and/or right generalized eigenvectors for a pair of real matrices (A, B). The function computes the following generalized eigenproblems:
where V is the right eigenvectors matrix.
where U is the left eigenvectors matrix.
represents the generalized eigenvalues of (A, B).

## Parameters

Input
Name | Type | Description
inputMatrixA | numeric array | The input matrix A.
inputMatrixB | numeric array | The input matrix B.
matrixSize | integer | The order of inputMatrixA and inputMatrixB.
Output
Name | Type | Description
eigenvalues | complex number array | The generalized eigenvalues of (inputMatrixA, inputMatrixB).
leftEigenvectors | numeric array | The left generalized eigenvectors of (inputMatrixA, inputMatrixB). If leftEigenvectors is NULL, the left generalized eigenvectors are not computed. Each column of leftEigenvectors is a left generalized eigenvector.
rightEigenvectors | numeric array | The right generalized eigenvectors of (inputMatrixA, inputMatrixB). If rightEigenvectors is NULL, the right generalized eigenvectors are not computed. Each column of rightEigenvectors is a right generalized eigenvector.

## Return Value

Name | Type | Description
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.