## gov.sandia.cognition.math.matrix.decomposition Interface EigenDecomposition

All Known Implementing Classes:
AbstractEigenDecomposition, EigenDecompositionRightMTJ

```@CodeReview(reviewer="Jonathan McClain",
date="2006-05-16",
changesNeeded=false,
@PublicationReference(author="Wikipedia",
title="Eigendecomposition of a matrix",
type=WebPage,
year=2010,
url="http://en.wikipedia.org/wiki/Eigendecomposition_of_a_matrix")
public interface EigenDecomposition```

Performs a right eigendecomposition for symmetric or asymmetric matrices

Since:
1.0
Author:
Kevin R. Dixon

Method Summary
` ComplexNumber` `getEigenValue(int index)`
Gets the complex-valued (potentially real and/or imaginary) eigenvalue specified by the index "index"
` ComplexNumber[]` `getEigenValues()`
Returns the array of complex-valued eigenvalues, the eigenvalues may be sorted in descending order of the magnitude of the eigenvalue, or they may be unsorted, depending on the specific implementation used
` Matrix` `getEigenVectorsImaginaryPart()`
Returns a matrix with the imaginary parts of the right eigenvalues of the underlying matrix
` Matrix` `getEigenVectorsRealPart()`
Returns a matrix with the real parts of the right eigenvalues of the underlying matrix
` ComplexNumber` `getLogDeterminant()`
Computes the natural logarithm determinant from the collection of eigenvalues

Method Detail

### getEigenValue

`ComplexNumber getEigenValue(int index)`
Gets the complex-valued (potentially real and/or imaginary) eigenvalue specified by the index "index"

Parameters:
`index` - zero-based eigenvalue index to return
Returns:
ComplexNumber that specifies the eigenvalue

### getEigenValues

`ComplexNumber[] getEigenValues()`
Returns the array of complex-valued eigenvalues, the eigenvalues may be sorted in descending order of the magnitude of the eigenvalue, or they may be unsorted, depending on the specific implementation used

Returns:
array of complex-valued eigenvalues

### getEigenVectorsRealPart

`Matrix getEigenVectorsRealPart()`
Returns a matrix with the real parts of the right eigenvalues of the underlying matrix

Returns:
matrix containing the real parts of the right eivenvalues

### getEigenVectorsImaginaryPart

`Matrix getEigenVectorsImaginaryPart()`
Returns a matrix with the imaginary parts of the right eigenvalues of the underlying matrix

Returns:
matrix containing the imaginary parts of the right eivenvalues

### getLogDeterminant

`ComplexNumber getLogDeterminant()`
Computes the natural logarithm determinant from the collection of eigenvalues

Returns:
natural logarithm of the determinant