|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectfhm.edu.fem.calc.objects.matrix.Rayleigh
public class Rayleigh
Class Description: This class offers methods to calculate Eigenvalues and Eigenvectors via the Rayleigh Algorithm. The algorithms used in this class are Copyright by Ewe Leonties taken from the C-Classes he wrote as diploma thesis. The conversion to Java and the percentage displays have been done by the authors mentioned below.
Field Summary | |
---|---|
protected Vector |
eigenvalueVector
|
protected double[][] |
EV
|
protected static Logger |
localLogger
|
Constructor Summary | |
---|---|
Rayleigh()
Constructor |
Method Summary | |
---|---|
protected void |
abpz(int n,
double[] A,
double[] B,
int[] D,
double[] P,
double[] Z2,
double[] Z1)
Calculates the products A*p = z2 and B*p = z1 (by Ewe Leonties) |
protected int |
cholesky(int n,
double[] A,
int[] D)
Calculate the Cholesky (by Ewe Leonties) A is changed in the progress containing the result |
boolean |
compute(int n,
double[] A,
double[] B,
int[] D,
int neig,
double tol,
double d)
Calculates the Eigenvalues and Eigenvectors via the preconditioned Rayleigh-Quotient-Minimization via konjugented Gradients of the general EWA A * x = lambda * B * x Only works with HULL MATRICES ! |
Vector |
getEigenvalueVector()
Grab the vector holding the calculated eigenvalues (you need to call compute()) first |
double[][] |
getEigenvectorArray()
Grab the double array holding the calculated eigenvectors (you need to call compute()) first |
protected double |
randomx(int ini)
Generated pseudo random numbers (0 <= x <= 1) (by Ewe Leonties) |
protected void |
vrenv(int n,
double[] L,
int[] D,
double[] B,
double[] X)
Calculate L*LT*x=b via "Vorwaerts- und Rueckwaertseinsetzen" (by Ewe Leonties) |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Vector eigenvalueVector
protected double[][] EV
protected static Logger localLogger
Constructor Detail |
---|
public Rayleigh()
Method Detail |
---|
protected void abpz(int n, double[] A, double[] B, int[] D, double[] P, double[] Z2, double[] Z1)
n,
- size of matrix A and BA,
- Matrix A in HullMatrix styleB,
- Matrix B in HullMatrix styleD,
- the diagonal pointer vectorP,
- ConstantsvectorZ2,
- RETURN VALUEZ1,
- RETURN VALUEprotected int cholesky(int n, double[] A, int[] D)
n,
- size of Matrix AA,
- Matrix A in HullMatrix styleD,
- diagonal pointer vector
public boolean compute(int n, double[] A, double[] B, int[] D, int neig, double tol, double d)
n,
- size of the Matrix A and B as HullA,
- the Matrix A in the Hull Matrix formatB,
- the Matrix B in the Hull Matrix formatD,
- the diagonal pointer vector (both A and B have the same)neig,
- the number of eigenvalues and eigenvectors to calculatetol,
- the calculation precisiond,
- the "Spektralverschiebung"
public Vector getEigenvalueVector()
public double[][] getEigenvectorArray()
protected double randomx(int ini)
ini,
- initialisation value
protected void vrenv(int n, double[] L, int[] D, double[] B, double[] X)
n,
- size of Matrix LL,
- Matrix L in HullMatrix styleD,
- the diagonal pointer vectorB,
- ConstantsvectorX,
- RETURN VALUE
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |