Class Matriz

java.lang.Object
  extended by Matriz

public class Matriz
extends java.lang.Object

Esta clase implementa las operaciones con arreglos de dos dimensiones de datos de tipo double

Author:
MC Jose Antonio Camarena Ibarrola

Field Summary
 double[][] datos
          El arreglo de segundo orden donde se almacena la matriz
 
Constructor Summary
Matriz(double[][] a)
          Crea el objeto Matriz con un arreglo bidimensional a del mismo tamanho el campo datos se inicializa con los valores de ese arreglo
Matriz(int r, int c)
          Crea el objeto Matriz de tamanho r x c y asigna valores a los campos renglones y columnas el campo datos queda sin inicializar
 
Method Summary
 Matriz copia()
          Copia la Matriz creando una nueva instancia de la clase Matriz y copiando los datos de la misma asi como su tamanho
 Matriz DescompLDU()
          Descompone la Matriz en tres Matrices L, D y U, la primera es triangular inferior (Ceros arriba de la diagonal), la segunda es diagonal y la tercera es triangular superior (ceros abajo de la diagonal) de tal manera que al multiplicarse LDU se recupera la matriz original
 Matriz DescompLU()
          Descompone la Matriz en dos Matrices L y U, la primera es triangular inferior (Ceros arriba de la diagonal) y la segunda es triangular superior (ceros abajo de la diagonal) de tal manera que al multiplicarse LU se recupera la matriz original
 void guarda_texto(java.lang.String nomArch)
          Almacena el objeto Matriz en un archivo ASCII
 void guarda(java.lang.String nomArch)
          Almacena el objeto Matriz en un archivo binario
 void imprime()
          Despliega en pantalla en modo de texto la Matriz this en forma de tabla Ej: Para desplegar el contenido de la Matriz a a.imprime()
 Matriz invierte()
          Invierte la Matriz por el metodo de Shipley o de Inversion en el mismo lugar
static Matriz lee(java.lang.String nomArch)
          Lee una Matriz de un archivo binario
static Matriz leeTexto(java.lang.String nomArch)
          Lee una Matriz de un archivo ASCII
 Matriz menos(Matriz x)
          Calcula la diferencia matricial
 Matriz por(Matriz x)
          Calcula el producto matricial
 Matriz rearregla()
          Intercambia las filas de la matriz de manera que no quede ningĂșn cero en la diagonal, si es que esto es posible.
 Matriz suma(Matriz x)
          Calcula la suma matricial
 Matriz transpone()
          Transpone la Matriz this
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

datos

public double[][] datos
El arreglo de segundo orden donde se almacena la matriz

Constructor Detail

Matriz

public Matriz(int r,
              int c)
Crea el objeto Matriz de tamanho r x c y asigna valores a los campos renglones y columnas el campo datos queda sin inicializar

Parameters:
r - El numero de renglones
c - El numero de columnas

Matriz

public Matriz(double[][] a)
Crea el objeto Matriz con un arreglo bidimensional a del mismo tamanho el campo datos se inicializa con los valores de ese arreglo

Parameters:
a - arreglo para inicializar la matriz
Method Detail

rearregla

public Matriz rearregla()
Intercambia las filas de la matriz de manera que no quede ningĂșn cero en la diagonal, si es que esto es posible.

Returns:
La Matriz arreglada (sin ceros en la diagonal) Ej. Para obtener una Matriz arreglada Matriz b=a.rearregla()

menos

public Matriz menos(Matriz x)
Calcula la diferencia matricial

Parameters:
x - El sustraendo
Returns:
Regresa el objeto Matriz que resulta de restar la matriz x de la Matriz this Ej. Para calcular el resultado de restar la Matriz b de la Matriz a, almacenando el resultado en una nueva Matriz c: Matriz c=a.menos(b)

por

public Matriz por(Matriz x)
Calcula el producto matricial

Parameters:
x - El multiplicador
Returns:
Regresa el objeto Matriz que resulta de multiplicar la Matriz this por la Matriz x Ej. Para calcular el resultado de multiplicar la Matriz a por la Matriz b almacenando el resultado en una nueva Matriz c Matriz c=a.por(b)

suma

public Matriz suma(Matriz x)
Calcula la suma matricial

Parameters:
x - sumando
Returns:
Regresa el objeto Matriz que resulta de sumar la Matriz this y la Matriz x Ej. Para calcular el resultado de sumar la Matriz a con la Matriz b almacenando el resultado en una nueva Matriz c Matriz c=a.suma(b)

copia

public Matriz copia()
Copia la Matriz creando una nueva instancia de la clase Matriz y copiando los datos de la misma asi como su tamanho

Returns:
Regresa el objeto Matriz que resulta de copiar la Matriz this Ej. Para copiar la Matriz a almacenando el resultado en una nueva Matriz c: Matriz c=a.copia(); Observe que no es lo mismo hacer: Matriz c=a; Ya que esto ultimo es equivalente a tener una sola matriz con dos nombres, los cambios hechos a una se reflejarian en la otra por que no serian dos matrices

invierte

public Matriz invierte()
Invierte la Matriz por el metodo de Shipley o de Inversion en el mismo lugar

Returns:
Regresa el objeto Matriz que resulta de invertir la Matriz this Ej. Para calcular el resultado de invertir la Matriz a almacenando el resultado en una nueva Matriz c Matriz c=a.invierte()

transpone

public Matriz transpone()
Transpone la Matriz this

Returns:
Regresa el objeto Matriz que resulta de transponer la Matriz this Ej. Para calcular el resultado de transponer la Matriz a almacenando el resultado en una nueva Matriz c Matriz c=a.transpone()

imprime

public void imprime()
Despliega en pantalla en modo de texto la Matriz this en forma de tabla Ej: Para desplegar el contenido de la Matriz a a.imprime()


guarda

public void guarda(java.lang.String nomArch)
Almacena el objeto Matriz en un archivo binario

Parameters:
nomArch - Nombre del archivo (puede incluir ruta) Ej para guardar la Matriz a en el archivo matriz.dat Matriz a.guarda("matriz.dat");

lee

public static Matriz lee(java.lang.String nomArch)
                  throws java.io.IOException,
                         java.io.FileNotFoundException
Lee una Matriz de un archivo binario

Parameters:
nomArch - Nombre del archivo (puede incluir ruta)
Returns:
La Matriz leida Ej para recuperar en la Matriz a el contenido del archivo matriz.dat Matriz a=Matriz.lee("matriz.dat");
Throws:
java.io.IOException
java.io.FileNotFoundException

guarda_texto

public void guarda_texto(java.lang.String nomArch)
Almacena el objeto Matriz en un archivo ASCII

Parameters:
nomArch - Nombre del archivo (puede incluir ruta) Ej para guardar la Matriz a en el archivo matriz.txt Matriz a.guarda_texto("matriz.txt");

leeTexto

public static Matriz leeTexto(java.lang.String nomArch)
Lee una Matriz de un archivo ASCII

Parameters:
nomArch - Nombre del archivo (puede incluir ruta)
Returns:
La Matriz leida Ej para recuperar en la Matriz a el contenido del archivo matriz.txt Matriz a=Matriz.leeTexto("matriz.txt");

DescompLU

public Matriz DescompLU()
Descompone la Matriz en dos Matrices L y U, la primera es triangular inferior (Ceros arriba de la diagonal) y la segunda es triangular superior (ceros abajo de la diagonal) de tal manera que al multiplicarse LU se recupera la matriz original

Returns:
Regresa el objeto Matriz que Almacena tanto L como U pues al ser una triangular superior y la otra triangular inferior pueden ambas almacenarse en una sola matriz cuadrada Ej. Para calcular el resultado de descomponer la Matriz a almacenando el resultado en una nueva Matriz c Matriz c=a.DescompLU()

DescompLDU

public Matriz DescompLDU()
Descompone la Matriz en tres Matrices L, D y U, la primera es triangular inferior (Ceros arriba de la diagonal), la segunda es diagonal y la tercera es triangular superior (ceros abajo de la diagonal) de tal manera que al multiplicarse LDU se recupera la matriz original

Returns:
Regresa el objeto Matriz que Almacena tanto L como D y U pues al ser una triangular superior, otra diagonal y la otra triangular inferior pueden todas almacenarse en una sola matriz cuadrada Ej. Para calcular el resultado de descomponer la Matriz a almacenando el resultado en una nueva Matriz c Matriz c=a.DescompLDU()