public static class Matrix.EVD
extends java.lang.Object
implements java.io.Serializable
A = V*D*V^{1}
If A is symmetric, then A = V*D*V' where the eigenvalue matrix D is
diagonal and the eigenvector matrix V is orthogonal.
Given a linear transformation A, a nonzero vector x is defined to be an eigenvector of the transformation if it satisfies the eigenvalue equation
A x = λ x
for some scalar λ. In this situation, the scalar λ is called
an eigenvalue of A corresponding to the eigenvector x.
The word eigenvector formally refers to the right eigenvector, which is defined by the above eigenvalue equation A x = λ x, and is the most commonly used eigenvector. However, the left eigenvector exists as well, and is defined by x A = λ x.
Let A be a real nbyn matrix with strictly positive entries a_{ij} > 0. Then the following statements hold.
A stochastic matrix, probability matrix, or transition matrix is used to describe the transitions of a Markov chain. A right stochastic matrix is a square matrix each of whose rows consists of nonnegative real numbers, with each row summing to 1. A left stochastic matrix is a square matrix whose columns consist of nonnegative real numbers whose sum is 1. A doubly stochastic matrix where all entries are nonnegative and all rows and all columns sum to 1. A stationary probability vector π is defined as a vector that does not change under application of the transition matrix; that is, it is defined as a left eigenvector of the probability matrix, associated with eigenvalue 1: πP = π. The PerronFrobenius theorem ensures that such a vector exists, and that the largest eigenvalue associated with a stochastic matrix is always 1. For a matrix with strictly positive entries, this vector is unique. In general, however, there may be several such vectors.
Modifier and Type  Field and Description 

Matrix 
Vl
The left eigenvectors.

Matrix 
Vr
The right eigenvectors.

double[] 
wi
The imaginary part of eigenvalues.

double[] 
wr
The real part of eigenvalues.

Constructor and Description 

EVD(double[] wr,
double[] wi,
Matrix Vl,
Matrix Vr)
Constructor.

EVD(double[] w,
Matrix V)
Constructor.

Modifier and Type  Method and Description 

Matrix 
diag()
Returns the block diagonal eigenvalue matrix whose diagonal are the real
part of eigenvalues, lower subdiagonal are positive imaginary parts, and
upper subdiagonal are negative imaginary parts.

Matrix.EVD 
sort()
Sorts the eigenvalues in descending order and reorders the
corresponding eigenvectors.

public final double[] wr
sort
function puts the eigenvalues
in descending order and reorder the corresponding eigenvectors.public final double[] wi
public final Matrix Vl
public final Matrix Vr
public EVD(double[] w, Matrix V)
w
 eigenvalues.V
 eigenvectors.public Matrix diag()
public Matrix.EVD sort()