Determines the Generalized eigenvalues and eigenvectors of two real square matrices.

A generalized eigenvalue problem is the problem of finding a vector v that obeys A * v = λ * B * v where A and B are matrices. If v obeys this equation, with some λ, then we call v the generalized eigenvector of A and B, and λ is called the generalized eigenvalue of A and B which corresponds to the generalized eigenvector v. The possible values of λ, must obey the identity det(A - λ*B) = 0.

Part of this code has been adapted from the original EISPACK routines in Fortran.

References: http://en.wikipedia.org/wiki/Generalized_eigenvalue_problem#Generalized_eigenvalue_problem http://www.netlib.org/eispack/

Inheritance: ICloneable
 /// <summary>
 ///   Creates a new object that is a copy of the current instance.
 /// </summary>
 /// <returns>
 ///   A new object that is a copy of this instance.
 /// </returns>
 public object Clone()
 {
     var clone = new JaggedGeneralizedEigenvalueDecomposition();
     clone.ai = ai.Copy();
     clone.ar = ar.Copy();
     clone.beta = beta.Copy();
     clone.n = n;
     clone.Z = Z.Copy();
     return clone;
 }