org.jblas
Class Eigen

java.lang.Object
  extended by org.jblas.Eigen

public class Eigen
extends java.lang.Object

Eigenvalue and Eigenvector related functions.

Methods exist for working with symmetric matrices or general eigenvalues. The symmetric versions are usually much faster on symmetric matrices.


Constructor Summary
Eigen()
           
 
Method Summary
static ComplexDoubleMatrix eigenvalues(DoubleMatrix A)
          Computes the eigenvalues of a general matrix.
static ComplexFloatMatrix eigenvalues(FloatMatrix A)
          Computes the eigenvalues of a general matrix.
static ComplexDoubleMatrix[] eigenvectors(DoubleMatrix A)
          Computes the eigenvalues and eigenvectors of a general matrix.
static ComplexFloatMatrix[] eigenvectors(FloatMatrix A)
          Computes the eigenvalues and eigenvectors of a general matrix.
static DoubleMatrix symmetricEigenvalues(DoubleMatrix A)
          Compute the eigenvalues for a symmetric matrix.
static FloatMatrix symmetricEigenvalues(FloatMatrix A)
          Compute the eigenvalues for a symmetric matrix.
static DoubleMatrix[] symmetricEigenvectors(DoubleMatrix A)
          Computes the eigenvalues and eigenvectors for a symmetric matrix.
static FloatMatrix[] symmetricEigenvectors(FloatMatrix A)
          Computes the eigenvalues and eigenvectors for a symmetric matrix.
static DoubleMatrix symmetricGeneralizedEigenvalues(DoubleMatrix A, DoubleMatrix B)
          Compute generalized eigenvalues of the problem A x = L B x.
static FloatMatrix symmetricGeneralizedEigenvalues(FloatMatrix A, FloatMatrix B)
          Compute generalized eigenvalues of the problem A x = L B x.
static DoubleMatrix[] symmetricGeneralizedEigenvectors(DoubleMatrix A, DoubleMatrix B)
          Solve a general problem A x = L B x.
static FloatMatrix[] symmetricGeneralizedEigenvectors(FloatMatrix A, FloatMatrix B)
          Solve a general problem A x = L B x.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Eigen

public Eigen()
Method Detail

symmetricEigenvalues

public static DoubleMatrix symmetricEigenvalues(DoubleMatrix A)
Compute the eigenvalues for a symmetric matrix.


symmetricEigenvectors

public static DoubleMatrix[] symmetricEigenvectors(DoubleMatrix A)
Computes the eigenvalues and eigenvectors for a symmetric matrix.

Returns:
an array of DoubleMatrix objects containing the eigenvectors stored as the columns of the first matrix, and the eigenvalues as diagonal elements of the second matrix.

eigenvalues

public static ComplexDoubleMatrix eigenvalues(DoubleMatrix A)
Computes the eigenvalues of a general matrix.


eigenvectors

public static ComplexDoubleMatrix[] eigenvectors(DoubleMatrix A)
Computes the eigenvalues and eigenvectors of a general matrix.

Returns:
an array of ComplexDoubleMatrix objects containing the eigenvectors stored as the columns of the first matrix, and the eigenvalues as the diagonal elements of the second matrix.

symmetricGeneralizedEigenvalues

public static DoubleMatrix symmetricGeneralizedEigenvalues(DoubleMatrix A,
                                                           DoubleMatrix B)
Compute generalized eigenvalues of the problem A x = L B x.

Parameters:
A - symmetric Matrix A. Only the upper triangle will be considered.
B - symmetric Matrix B. Only the upper triangle will be considered.
Returns:
a vector of eigenvalues L.

symmetricGeneralizedEigenvectors

public static DoubleMatrix[] symmetricGeneralizedEigenvectors(DoubleMatrix A,
                                                              DoubleMatrix B)
Solve a general problem A x = L B x.

Parameters:
A - symmetric matrix A
B - symmetric matrix B
Returns:
an array of matrices of length two. The first one is an array of the eigenvectors X The second one is A vector containing the corresponding eigenvalues L.

symmetricEigenvalues

public static FloatMatrix symmetricEigenvalues(FloatMatrix A)
Compute the eigenvalues for a symmetric matrix.


symmetricEigenvectors

public static FloatMatrix[] symmetricEigenvectors(FloatMatrix A)
Computes the eigenvalues and eigenvectors for a symmetric matrix.

Returns:
an array of FloatMatrix objects containing the eigenvectors stored as the columns of the first matrix, and the eigenvalues as diagonal elements of the second matrix.

eigenvalues

public static ComplexFloatMatrix eigenvalues(FloatMatrix A)
Computes the eigenvalues of a general matrix.


eigenvectors

public static ComplexFloatMatrix[] eigenvectors(FloatMatrix A)
Computes the eigenvalues and eigenvectors of a general matrix.

Returns:
an array of ComplexFloatMatrix objects containing the eigenvectors stored as the columns of the first matrix, and the eigenvalues as the diagonal elements of the second matrix.

symmetricGeneralizedEigenvalues

public static FloatMatrix symmetricGeneralizedEigenvalues(FloatMatrix A,
                                                          FloatMatrix B)
Compute generalized eigenvalues of the problem A x = L B x.

Parameters:
A - symmetric Matrix A. Only the upper triangle will be considered.
B - symmetric Matrix B. Only the upper triangle will be considered.
Returns:
a vector of eigenvalues L.

symmetricGeneralizedEigenvectors

public static FloatMatrix[] symmetricGeneralizedEigenvectors(FloatMatrix A,
                                                             FloatMatrix B)
Solve a general problem A x = L B x.

Parameters:
A - symmetric matrix A
B - symmetric matrix B
Returns:
an array of matrices of length two. The first one is an array of the eigenvectors X The second one is A vector containing the corresponding eigenvalues L.


© 2008-2010 by Mikio L. Braun and contributors