abstractmatrix.matrixdouble
Class BandedMatrix

java.lang.Object
  |
  +--abstractmatrix.AbstractMatrix
        |
        +--abstractmatrix.matrixdouble.MatrixDouble
              |
              +--abstractmatrix.matrixdouble.BandedMatrix

public class BandedMatrix
extends MatrixDouble

Las matrices bandadas se almacenan en un arreglo bidimensional inicializado en ceros. Aunque su apariencia logica es con un ancho alrededor de la diagonal.

Original:

width

1 2 3 0 0 height

1 2 3 4 0 height

0 2 3 4 5

0 0 3 4 5

0 0 0 4 5

Almacenado:

0 1 2 3

1 2 3 4

2 3 4 5

3 4 5 0

4 5 0 0

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

Field Summary
private  int columns
           
private  int height
           
private  int rows
          Para las columnas del ancho.
private  int width
          Para los renglones de altura.
 
Fields inherited from class abstractmatrix.matrixdouble.MatrixDouble
e, memoryColumns, memoryRows
 
Fields inherited from class abstractmatrix.AbstractMatrix
squared
 
Constructor Summary
BandedMatrix(double[][] matrix, int heightRows, int widthColumns)
          Crea una matriz a partir de un arreglo bidimensional de n renglones por m columnas (n x m).
BandedMatrix(int rows, int columns, int heightRows, int widthColumns)
          Crea una matriz y la limpia (matriz nula).
 
Method Summary
 BandedMatrix add(MatrixDouble mdB)
          Suma de matrices: "MatrizActual + mdB".
private  void copyArrayIntoBand(double[][] matrix)
          Solo para el constructor del array
 double getE(int row, int column)
          Obtiene el valor del elemento (i, j) en posicion relativa.
 boolean isStoredAt(int i, int j)
          Checa la existancia en memoria del elemento de lo contrario, el elemento es cero.
 MatrixDouble newMatrix(int rows, int columns, int memoryRows, int memoryColumns)
          Implementa la agrupacion de constructores.
 void setE(int row, int column, double value)
          Asignar un valor al elemento(i, j) en posicion relativa.
 BandedMatrix substract(MatrixDouble mdB)
          Resta de matrices: "MatrizActual - mdB".
 
Methods inherited from class abstractmatrix.matrixdouble.MatrixDouble
add, backSubstitution, clean, fill, forwardSubstitution, getMemoryElementAt, multiply, multiplyBy, premultiplyBy, print, setMemoryElementAt, setMemoryMatrix, setToIdentity, substract
 
Methods inherited from class abstractmatrix.AbstractMatrix
getColumns, getRows, isSquared
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

height

private int height

width

private int width
Para los renglones de altura.

rows

private int rows
Para las columnas del ancho.

columns

private int columns
Constructor Detail

BandedMatrix

public BandedMatrix(int rows,
                    int columns,
                    int heightRows,
                    int widthColumns)
Crea una matriz y la limpia (matriz nula).

BandedMatrix

public BandedMatrix(double[][] matrix,
                    int heightRows,
                    int widthColumns)
Crea una matriz a partir de un arreglo bidimensional de n renglones por m columnas (n x m). Se necsita saber de antemano altura y el ancho de la banda. Asigna directamente la matriz previamente creada. Se supone que "matrix[][]" ya tiene asignado espacio.
Method Detail

newMatrix

public MatrixDouble newMatrix(int rows,
                              int columns,
                              int memoryRows,
                              int memoryColumns)
Implementa la agrupacion de constructores. Se recuerda la altura de la banda en cuanto se creo

widthColumns = memoryColumns - height + 1;

Overrides:
newMatrix in class MatrixDouble

copyArrayIntoBand

private void copyArrayIntoBand(double[][] matrix)
Solo para el constructor del array

isStoredAt

public boolean isStoredAt(int i,
                          int j)
Checa la existancia en memoria del elemento de lo contrario, el elemento es cero.
Overrides:
isStoredAt in class AbstractMatrix
Parameters:
i - Renglon logico
j - Columna logica
Returns:
false. Si esta fuera de la banda

setE

public void setE(int row,
                 int column,
                 double value)
Asignar un valor al elemento(i, j) en posicion relativa.
Overrides:
setE in class MatrixDouble

getE

public double getE(int row,
                   int column)
Obtiene el valor del elemento (i, j) en posicion relativa.
Overrides:
getE in class MatrixDouble

add

public BandedMatrix add(MatrixDouble mdB)
Suma de matrices: "MatrizActual + mdB". Ejemplo de uso:

bmRes = bmA.add(rmB);

Returns:
"BandedMatrix" con la suma.

substract

public BandedMatrix substract(MatrixDouble mdB)
Resta de matrices: "MatrizActual - mdB". Ejemplo de uso:

bmRes = bmA.substract(rmB);

Returns:
"BandedMatrix" con la resta.