|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--orgposada.nummethpos.matrixsolution.MatrixSolver | +--orgposada.nummethpos.matrixsolution.EigenSubspaceSolver
Busca los Eigen valores y Eigen vectores (propios o caracteristicos) de una matriz cuadrada simetrica por el metodo de iteracion en el subespacio. Solo se puede usar un objeto en todo el programa. Se necesitaria cambiar todos las demas clases.
Field Summary | |
private double[] |
eigenValues
Valores propios. |
private double[][] |
eigVectCol
Vectores propios, cada columna es un Eigen vector. |
private double[][] |
eigVectRow
Vectores propios, cada columna es un Eigen vector. |
private boolean |
solverFoundedSolution
Comunicacion entre el Solver y find(). |
Fields inherited from class orgposada.nummethpos.matrixsolution.MatrixSolver |
found |
Constructor Summary | |
EigenSubspaceSolver()
|
Method Summary | |
double[] |
find(SquaredMatrix mA,
int nEig,
double tolerance,
int iterations)
Busca los Eigen valores y Eigen vectores (propios o caracteristicos) de una matriz cuadrada simetrica por el metodo iterativo en el subespacio. |
double[] |
getEigenVector(int i)
Regresa un vector propio. |
double[][] |
getEigenVectorsAsColumns()
Regresa los Eigen vectores como una matriz, cada columna es un Eigen vector. |
double[][] |
getEigenVectorsAsRows()
Regresa los Eigen vectores como una matriz, cada columna es un Eigen vector. |
private double[] |
quitEigenContribution(double[] eigX,
int iEig)
Reduce las contribuciones de los Eigen vectores para reducir el error de redondeo numerico. |
void |
quitEigenContribution(MatrixDouble A)
Quita las contribuciones a los vectores columna. |
double[] |
solve(MatrixDouble A,
int numberEigen,
double tolerance,
int iterations)
Llama al metodo "find" para asegurar una matriz cuadrada. |
boolean |
wasFound()
Checa el exito del metodo. |
Methods inherited from class java.lang.Object |
|
Field Detail |
private double[][] eigVectCol
private double[][] eigVectRow
private double[] eigenValues
private boolean solverFoundedSolution
Constructor Detail |
public EigenSubspaceSolver()
Method Detail |
public boolean wasFound()
wasFound
in class MatrixSolver
public double[] getEigenVector(int i) throws java.lang.IndexOutOfBoundsException
java.lang.IndexOutOfBoundsException
- Se se trata de acceder un Eigen
que no puede existir: menor que 0, o mayor que el orden de
la matriz.public double[][] getEigenVectorsAsColumns()
public double[][] getEigenVectorsAsRows()
public double[] solve(MatrixDouble A, int numberEigen, double tolerance, int iterations) throws java.lang.RuntimeException, java.lang.ArithmeticException
A
- Matriz cuadrada (n x n).numberEigen
- Numero de eigen vectores a buscar.tolerance
- Precision aceptable del error (ejemplo: 0.01).iterations
- Numero maximo de veces a ejecutar.java.lang.RuntimeException
- Se excedio el maximo numero de iteraciones.
No se encontro los Eigen valores y vectores.java.lang.ArithmeticException
- Problemas con las operaciones
aritmeticas.find(orgposada.nummethpos.abstractmatrix.matrixdouble.SquaredMatrix, int, double, int)
public void quitEigenContribution(MatrixDouble A) throws java.lang.ArithmeticException
java.lang.ArithmeticException
- Division entre cero.private double[] quitEigenContribution(double[] eigX, int iEig)
public double[] find(SquaredMatrix mA, int nEig, double tolerance, int iterations) throws java.lang.RuntimeException, java.lang.ArithmeticException
mA
- Matriz cuadrada (n x n).nEig
- Numero de eigen vectores a buscar.tolerance
- Precision aceptable del error (ejemplo: 0.01).iterations
- Numero maximo de veces a ejecutar.java.lang.RuntimeException
- Se excedio el maximo numero de iteraciones.
No se encontro los Eigen valores y vectores.java.lang.ArithmeticException
- Problemas con las operaciones
aritmeticas.Checar metodo "wasFound()" para verificar el exito del metodo:
false, no se encontro algun EigenVector; true,
se encontraron los requeridos.
,
Checar metodo "getEigenVectors()" para obtener los eigen vectores.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |