orgposada.nummethpos.matrixsolution
Class CroutSolver

java.lang.Object
  |
  +--orgposada.nummethpos.matrixsolution.MatrixSolver
        |
        +--orgposada.nummethpos.matrixsolution.DirectMatrixSolver
              |
              +--orgposada.nummethpos.matrixsolution.CroutSolver

public class CroutSolver
extends DirectMatrixSolver

Solucion de sistemas de ecuaciones por el metodo de Crout. Cada vez que se manda llamar al Solver se crea un arreglo (vector) de soluciones distinto.

Version:
1.0, 26/09/2001
Author:
Omar Posada Villarreal

Field Summary
(package private)  Crout cro
          Llama a un metodo de factorizacion LU.
 
Fields inherited from class orgposada.nummethpos.matrixsolution.MatrixSolver
found
 
Constructor Summary
CroutSolver()
          Vacio.
 
Method Summary
 double[] solve(MatrixDouble A, double[] b)
          Factoriza la matriz y con substitucion se encuentra al vector solucion.
 RectangularMatrix solve(MatrixDouble A, MatrixDouble B)
          Factoriza la matriz y con substitucion se encuentra a la matriz solucion.
 boolean wasFound()
          Checa el exito del metodo.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

cro

Crout cro
Llama a un metodo de factorizacion LU.
Constructor Detail

CroutSolver

public CroutSolver()
Vacio.
Method Detail

wasFound

public boolean wasFound()
Checa el exito del metodo.
Overrides:
wasFound in class MatrixSolver

solve

public double[] solve(MatrixDouble A,
                      double[] b)
               throws java.lang.ArithmeticException
Factoriza la matriz y con substitucion se encuentra al vector solucion.
Overrides:
solve in class DirectMatrixSolver
Parameters:
A - Debe ser "SquaredMatrix". Matriz cuadrada (n x n) simetrica y definida positiva.
b - Vector columna (n x 1) del lado derecho.
Returns:
double[] x Ultima solucion.

solve

public RectangularMatrix solve(MatrixDouble A,
                               MatrixDouble B)
                        throws java.lang.ArithmeticException
Factoriza la matriz y con substitucion se encuentra a la matriz solucion. La matriz del lado derecho se trata vector a vector.
 	A X = B
 		r: Renglones
		c: Columnas
	A(rA*cA) X(rX*cX) = B(rB*cB)
		rA == cA == rX == rB
		cX == cB
 	(rA*rA) (rA*cB) = (rA*cB)
Parameters:
A - Debe ser de dimensiones cuadradas ("SquaredMatrix"). Matriz cuadrada (n x n) simetrica y definida positiva.
B - Matriz del lado derecho que se tomara vector a vector. No necesariamente debera ser "SquaredMatrix".
Returns:
Matriz X de solucion de dimension (rA * cB)
Throws:
java.lang.IllegalArgumentException - Los renglones de las matrices A y B son distintos.