|
|||||||||
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 IterativeMatrixSolver
find(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 |