|
|||||||||
| 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.IterativeMatrixSolver
|
+--orgposada.nummethpos.matrixsolution.EigenJacobiSolver
Busca los Eigen valores y Eigen vectores (propios o caracteristicos) de una matriz cuadrada simetrica por el metodo de Jacobi. 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 double |
SIN_PI_4
Constante: sin(PI/4) = squareRoot(2)/2 |
private boolean |
solverFoundedSolution
Comunicacion entre el Solver y find(). |
| Fields inherited from class orgposada.nummethpos.matrixsolution.MatrixSolver |
found |
| Constructor Summary | |
EigenJacobiSolver()
Vacio. |
|
| Method Summary | |
double[] |
find(SquaredMatrix matrixA,
double[] vectorX,
double tolerance,
int iterations)
Busca los Eigen valores y Eigen vectores (propios o caracteristicos) de una matriz cuadrada simetrica por el metodo de Jacobi. |
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. |
double[] |
solve(MatrixDouble A,
double[] b,
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 final double SIN_PI_4
private double[][] eigVectCol
private double[][] eigVectRow
private double[] eigenValues
private boolean solverFoundedSolution
| Constructor Detail |
public EigenJacobiSolver()
| 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,
double[] b,
double tolerance,
int iterations)
solve in class IterativeMatrixSolverfind(orgposada.nummethpos.abstractmatrix.matrixdouble.SquaredMatrix, double[], double, int)
public double[] find(SquaredMatrix matrixA,
double[] vectorX,
double tolerance,
int iterations)
throws java.lang.RuntimeException,
java.lang.ArithmeticException
A - Matriz cuadrada (n x n).x - No se usa. Conservar firmas uniformes.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.Checar metodo "wasFound()" para verificar el exito del metodo:
false, no se encontro algun EigenVector; true, se encontraron todos.,
Checar metodo "getEigenVectors()" para obtener los eigen vectores.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||