package JAMA Class to obtain eigenvalues and eigenvectors of a real matrix. If A is symmetric, then A = V*D*V' where the eigenvalue matrix D is diagonal and the eigenvector matrix V is orthogonal (i.e. A = V.times(D.times(V.transpose())) and V.times(V.transpose()) equals the identity matrix). If A is not symmetric, then the eigenvalue matrix D is block diagonal with the real eigenvalues in 1-by-1 blocks and any complex eigenvalues, lambda + i*mu, in 2-by-2 blocks, [lambda, mu; -mu, lambda]. The columns of V represent the eigenvectors in the sense that A*V = V*D, i.e. A.times(V) equals V.times(D). The matrix V may be badly conditioned, or even singular, so the validity of the equation A = V*D*inverse(V) depends upon V.cond().
author Paul Meagher
license PHP v3.0
version 1.1

 Methods

Constructor: Check for symmetry, then construct the eigenvalue decomposition

__construct(\A $Arg) : \Structure
access public

Parameters

$Arg

\A

Square matrix

Returns

\Structureto access D and V.

Return the block diagonal eigenvalue matrix

getD() : \D
access public

Returns

\D

Return the imaginary parts of the eigenvalues

getImagEigenvalues() : \imag(diag(D))
access public

Returns

\imag(diag(D))

Return the real parts of the eigenvalues

getRealEigenvalues() : \real(diag(D))
access public

Returns

\real(diag(D))

Return the eigenvector matrix

getV() : \V
access public

Returns

\V

 Properties