|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectfhm.edu.fem.calc.objects.matrix.SVI3
public class SVI3
Class Description: This class offers methods to calculate Eigenvalues and Eigenvectors via the SVI3 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 static Logger |
localLogger
|
protected double[][] |
X
|
Constructor Summary | |
---|---|
SVI3()
Constructor |
Method Summary | |
---|---|
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 p,
int pt,
int nitm,
double eps)
Simultamne vector-iteration with Rayleigh-Ritz-Step |
protected void |
ewev(int n,
int pt,
double[] B,
double[] A,
int[] D,
double[] H1,
double[] LAM,
double[][] X,
double[][] Y)
Solves LBT * H = X via "Rueckwaertseinsetzen" Calculation of p-Eigenvectors and Eigenvalues as rayleigh's Quotients |
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 void |
initx(int p,
int n,
double[][] X)
Init the Matrix X with random numbers 0 <= xij <= 1 |
protected void |
jacobi(int n,
double gen,
double[][] A,
double[][] V,
int ord)
Calculates the Eigenvalues and Eigenvectors of the symmetric Matrix A |
protected void |
mlenv(int n,
int p,
double[] L,
int[] D,
double[][] X,
double[][] Y)
Multiplies the left-triangle-matrix L with matrix X |
protected void |
mltenv(int n,
int p,
double[] L,
int[] D,
double[][] X,
double[][] Y)
Multiplies the left-triangle-matrix LT with Matrix X |
protected void |
ortnor(int n,
int p,
double[][] Z,
double[] Q)
Orthonormizes the Matrix Z |
protected void |
renv(int n,
int p,
int[] D,
double[] L,
double[][] X)
Solves LT * H = X |
protected void |
storeEigenvalues(double[] LAM)
Special method to help store the eigenvalues after they have been calculated |
protected void |
vrenv(int n,
double[] L,
int[] D,
double[] B,
double[] X)
Solves L * LT * x = b via "Vorwaerts- und Rueckwaertseinsetzen" |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Vector eigenvalueVector
protected static Logger localLogger
protected double[][] X
Constructor Detail |
---|
public SVI3()
Method Detail |
---|
protected 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 p, int pt, int nitm, double eps)
n,
- dimension of matrix A and BA,
- matrix A in HullMatrix styleB,
- matrix B in HullMatrix styleD,
- diagonal pointer vectorp,
- number of wanted eigen-pairspt,
- number of simultane iterated eigen-pairsnitm,
- maximum number of iterationseps,
- calculation precision
protected void ewev(int n, int pt, double[] B, double[] A, int[] D, double[] H1, double[] LAM, double[][] X, double[][] Y)
n,
- dimension of matrix X and Ypt,
- dimension of matrix X and YB,
- left-triangle-matrix B in HullMatrix styleA,
- left-triangle-matrix A in HullMatrix styleD,
- diagonal pointer vectorH1,
- helper-vectorLAM,
- RETURN VALUE, Vector of p-EigenvaluesX,
- RETURN VALUE, Matrix of p-EigenvectorsY,
- helper-matrixpublic Vector getEigenvalueVector()
public double[][] getEigenvectorArray()
protected void initx(int p, int n, double[][] X)
p,
- the dimension of Xn,
- the dimension of XX,
- RETURN VALUE, linear independent start vectorsprotected void jacobi(int n, double gen, double[][] A, double[][] V, int ord)
n,
- size of Matrix Agen,
- machine precisionA,
- double[][] array of Matrix AV,
- RETURN VALUE, matrix of eigenvectorsord,
- if >0 the eigenvalues and associated eigenvectors are sorted from upwards, else downwardsprotected void mlenv(int n, int p, double[] L, int[] D, double[][] X, double[][] Y)
n,
- dimension of matrix xp,
- dimension of matrix xL,
- left-triangle-matrix in HullMatrix styleD,
- diagonal pointer vectorX,
- matrix XY,
- RETURN VALUEprotected void mltenv(int n, int p, double[] L, int[] D, double[][] X, double[][] Y)
n,
- dimension of Xp,
- dimension of XL,
- left-triangle-matrix in HullMatrix styleD,
- diagonal pointer vectorX,
- matrix XY,
- RETURN VALUEprotected void ortnor(int n, int p, double[][] Z, double[] Q)
n,
- dimension of Zp,
- dimension of ZZ,
- matrix Z with p linear independent vectors, RETURN VALUEQ
- protected void renv(int n, int p, int[] D, double[] L, double[][] X)
n,
- dimension of matrix Xp,
- dimension of matrix XD,
- diagonal pointer vectorL,
- left-triangle-matrix in HullMatrix styleX,
- RETURN VALUE, result matrix H replaces Xprotected void storeEigenvalues(double[] LAM)
LAM,
- the vector holding all calculated eigenvaluesprotected void vrenv(int n, double[] L, int[] D, double[] B, double[] X)
n,
- dimension of LL,
- matrix L in HullMatrix styleD,
- diagonal pointer vectorB,
- constants-vectorX,
- RETURN VALUE
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |