org.jmol.util
Class Eigen
java.lang.Object
org.jmol.util.Eigen
public class Eigen
- extends java.lang.Object
Eigenvalues and eigenvectors of a real 3x3 symmetric matrix.
adapted by Bob Hanson from http://math.nist.gov/javanumerics/jama/ (public domain)
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.
In this implementation, output is as a set of double[3] ROWS
Field Summary |
private double[] |
d
|
private double[] |
e
|
private double[][] |
Vo
|
private double[][] |
Vx
|
Constructor Summary |
Eigen(double[][] A)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
d
private double[] d
e
private double[] e
Vx
private double[][] Vx
Vo
private double[][] Vo
Eigen
public Eigen(double[][] A)
getEigenvectors
public double[][] getEigenvectors()
getEigenvalues
public double[] getEigenvalues()
tred2
private void tred2()
tql2
private void tql2()
hypot
private static double hypot(double a,
double b)
dump
public void dump()
dump
private void dump(int i)
toFloat3x3
public static float[][] toFloat3x3(double[][] d)
toFloat
public static float[] toFloat(double[] d)