|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--orgposada.nummethpos.abstractmatrix.AbstractMatrix | +--orgposada.nummethpos.abstractmatrix.matrixdouble.MatrixDouble
Crea una matriz fija de numeros de tipo "double" para el manejo de operaciones del Algebra Lineal. Se usa la abreviacion "e" para hacer referencia al elemento y agilizar la escritura. Usar la referencia a la matriz (logica) cuando sea la posicion relativa al elemento de la matriz (i, j). Efectua ajuste fisico. (Usado) Usar la referencia a memoria (fisica) cuando sea la posicion absoluta en memoria. No hace ajuste.
Field Summary | |
protected double[][] |
e
El tipo de elementos es "double". |
private int |
findedColumn
Columna del elemento encontrado. |
private int |
findedRow
Renglon del elemento encontrado. |
private int |
memoryColumns
Almacenamiento fisico maximo en memoria. |
private int |
memoryRows
Almacenamiento fisico maximo en memoria. |
Fields inherited from class orgposada.nummethpos.abstractmatrix.AbstractMatrix |
columns, rows, squared |
Constructor Summary | |
MatrixDouble(int rows,
int columns,
int memoryRows,
int memoryColumns)
Crea una matriz logica de n renglones "rows" por m columnas "columns" (n x m). |
Method Summary | |
static MatrixDouble |
add(MatrixDouble mdA,
MatrixDouble mdB)
Suma dos matrices (A y B) y crea una de resultado. |
double[] |
backSubstitution(double[] b)
Sustituye hacia atras para encontrar los valores de solucion. |
void |
clean()
Llena la matriz con ceros (0.0). |
void |
copyFrom(MatrixDouble B)
Copia el contenido de la matriz B a la actual. |
static MatrixDouble |
createCopyFrom(MatrixDouble source)
Regresa una copia de si misma. |
void |
fill(double value)
Llena la matriz (logica) con el valor. |
void |
fillDiagonal(double number)
Pone el numero en la diagonal de la matriz. |
double |
findMaxAbs()
Obtiene el mayor numero absoluto de la matriz actual. |
double |
findMaxAbsOutOfDiagonal()
Obtiene el mayor numero absoluto de la matriz actual, fuera de la diagonal. |
double[] |
forwardSubstitution(double[] b)
Sustituye hacia adelante para encontrar los valores de solucion. |
double[] |
getDiagonal()
Toma los elementos de la diagonal de la mtriz actual. |
abstract double |
getE(int row,
int column)
Metodo a implementar para obtener el elemento(i, j). |
int |
getFindedColumn()
Columna del elemento encontrado. |
int |
getFindedRow()
Renglon del elemento encontrado. |
protected double |
getMemoryElementAt(int memoryRow,
int memoryColumn)
Metodo para las subclases para obtener el elemento (i, j) en posicion absoluta de memoria. |
boolean |
hasSameSize(MatrixDouble B)
Checa si las dimensiones son iguales. |
static MatrixDouble |
multiply(double escalar,
MatrixDouble mdA)
Multiplica un escalar por una matriz y crea una matriz con la misma dimension que la matriz del parametro. |
double[] |
multiplyBy(double[] vectorB)
Multiplica la matriz actual por un vector columna (arreglo unidimensional de "double") y crea un vector columna "b" de taman~o m para almacenar el resultado a partir de la dimension de A. |
abstract MatrixDouble |
newMatrix(int rows,
int columns,
int memoryRows,
int memoryColumns)
Metodo a implementar para definir una nueva instancia. |
void |
normalizeColumns()
Cambia los vectores columna para que tengan una norma igual a uno (norma unitaria). |
double[] |
premultiplyBy(double[] vectorB)
Pre-multiplica un vector renglon por la matriz actual. |
void |
print(java.lang.String message)
Muestra la matriz de double en la consola. |
abstract void |
setE(int row,
int column,
double value)
Metodo a implementar para asignar valor al elemento(i, j). |
protected void |
setMemoryElementAt(int memoryRow,
int memoryColumn,
double value)
Metodo para las subclases para asignar valor al elemento(i, j) en posicion absoluta de memoria. |
protected void |
setMemoryMatrix(double[][] matrix)
Asigna el arreglo double[][] directamente a matrix. |
void |
setToIdentity()
Convierte la matriz en una identidad. |
static MatrixDouble |
substract(MatrixDouble mdA,
MatrixDouble mdB)
Resta dos matrices (A y B) y crea una de resultado. |
double[][] |
toDoubleArray()
Convierte la matriz en un arreglo de "double". |
java.lang.String |
toString()
Representacion en cadena de una matriz. |
MatrixDouble |
transpose()
Transpuesta. |
Methods inherited from class orgposada.nummethpos.abstractmatrix.AbstractMatrix |
getColumns, getRows, isSquared, isStoredAt |
Methods inherited from class java.lang.Object |
|
Field Detail |
protected double[][] e
private int memoryRows
private int memoryColumns
private int findedRow
private int findedColumn
Constructor Detail |
public MatrixDouble(int rows, int columns, int memoryRows, int memoryColumns)
Method Detail |
public abstract void setE(int row, int column, double value) throws java.lang.IndexOutOfBoundsException
public abstract double getE(int row, int column)
public abstract MatrixDouble newMatrix(int rows, int columns, int memoryRows, int memoryColumns)
protected void setMemoryElementAt(int memoryRow, int memoryColumn, double value)
protected double getMemoryElementAt(int memoryRow, int memoryColumn)
protected void setMemoryMatrix(double[][] matrix)
public void fill(double value)
public void clean()
public void setToIdentity() throws java.lang.RuntimeException
java.lang.RuntimeException
- La matriz no es cuadrada.public void fillDiagonal(double number)
public void print(java.lang.String message)
public double[] multiplyBy(double[] vectorB)
arrDoubC = mdA.multiplyBy(arrDoubB)
java.lang.IllegalArgumentException
- Matrices con dimensiones distintas.premultiplyBy(double[])
public double[] premultiplyBy(double[] vectorB)
arrDoubC = mdA.premultiplyBy(arrDoubB)
multiplyBy(double[])
public static MatrixDouble multiply(double escalar, MatrixDouble mdA)
rmRes = (RectangularMatrix)MatrixDouble.multiply(escalar, smA);
public static MatrixDouble add(MatrixDouble mdA, MatrixDouble mdB) throws java.lang.IllegalArgumentException
C = A + B
No olvidar hacer un casting al resultado. Ejemplo de uso:
rmRes = (RectangularMatrix)MatrixDouble.add(rmA, rmB);
java.lang.IllegalArgumentException
- Matrices con dimensiones distintas.public static MatrixDouble substract(MatrixDouble mdA, MatrixDouble mdB)
C = A - B
No olvidar hacer un casting al resultado. Ejemplo de uso:
rmRes = (RectangularMatrix)MatrixDouble.substract(rmA, rmB);
java.lang.IllegalArgumentException
- Matrices con dimensiones distintas.public double[] backSubstitution(double[] b)
b
- Vector del lado derecho.public double[] forwardSubstitution(double[] b)
b
- Vector del lado derecho.public double[] getDiagonal()
// vectX = A(i,i); para i = 0...n double[] vectX; ... vectX = getDiagonal();
public double findMaxAbs()
Renglon del elemento encontrado.
,
Columna del elemento encontrado.
public double findMaxAbsOutOfDiagonal()
Renglon del elemento encontrado.
,
Columna del elemento encontrado.
public int getFindedRow()
public int getFindedColumn()
public boolean hasSameSize(MatrixDouble B)
public static MatrixDouble createCopyFrom(MatrixDouble source)
public void copyFrom(MatrixDouble B) throws java.lang.NullPointerException, java.lang.RuntimeException
java.lang.RuntimeException
- Las dimensiones no coinciden.public MatrixDouble transpose()
public double[][] toDoubleArray()
public java.lang.String toString()
toString
in class java.lang.Object
public void normalizeColumns()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |