Overview   Project   Class   Tree   Deprecated   Index 
Optimización Mínimos Cuadrados de la Ecuación Logística con Quasi Newton modificado y Double dogleg step
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD

matrixdouble
Class RectangularMatrix

MatrixDouble
   |
   +--RectangularMatrix

   in rectangularmatrix.h
   in rectangularmatrix.cpp
Direct Known Subclasses:
SquaredMatrix

class RectangularMatrix
extends MatrixDouble

Caso: Logica uno. La memoria solicitada es de (nr x nc). No necesita desperdicio de memoria para funcionar con Numerical Recipes.


Field Summary
protected VectorDouble* m
          No debe ser publico.
   
Fields inherited from class MatrixDouble
rows, columns, logic
 
Constructor Summary
RectangularMatrix( int theRows, int theColumns, int theLogic, bool cleanMe = true )
          Construye una matrix rectangular de nr x nc.
~RectangularMatrix()
          Libera recursos.
 
Method Summary
 static void add( RectangularMatrix& right, RectangularMatrix& left, RectangularMatrix& res )
          Suma las matrices, regresa una nueva matriz con el resultado.
 void clean()
          Limpia la matriz.
 void copyFrom( RectangularMatrix& matrix )
          Copia los datos a la matriz actual.
 void deleteRectangular()
          Usado por destructor y resize.
 void fill( double value )
          Llena la matriz con el valor indicado.
 static void multiply( RectangularMatrix& right, RectangularMatrix& left, RectangularMatrix& res )
          Multiplica la matriz actual por la del argumento.
 static void multiply( RectangularMatrix& right, double left, RectangularMatrix& res )
          Multiplica la matriz actual por un escalar y crea una matriz cuadrada del mismo taman~o Ejemplo: No checa dimensiones, ni logica Logica cero.
 const double& operator()( int row, int column ) const
          Permite asignacion (operator=).
 VectorDouble operator*( VectorDouble& left )
          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.
 const RectangularMatrix& operator=( const RectangularMatrix& right )
          Protege de no usarlo.
 const VectorDouble& operator[]( int row ) const
          Proteger a la matriz de reasignacion de memoria.
 void print( int digits ) const
          Muestra la matriz en la consola con un cierto numero de digitos.
 void print() const
          Muestra la matriz en la consola.
 void readElements()
          Entrada de la matriz sin las dimensiones en la consola.
 void resize( int theRows, int theColumns, int theLogic, bool cleanMe )
          Reconstruye todos los parametros de la matriz.
 void setLogic( int theLogic )
          Cambia la logica de la matriz.
 static void substract( RectangularMatrix& right, RectangularMatrix& left, RectangularMatrix& res )
          Resta las matrices, regresa una nueva matriz con el resultado.
 VectorDouble takeDiagonal()
          
Returns:
Vector con la diagonal con la misma logica y la dimension menor.
 void transpose( RectangularMatrix& matrix )
          Transpone una matriz.
   
Methods inherited from class MatrixDouble
getLogic, setLogic, getRows, getColumns
 

Field Detail

m

protected VectorDouble* m;
No debe ser publico. por Numerical Recipes en logica uno. El tipo de elementos es "double".


Constructor Detail

RectangularMatrix

public RectangularMatrix( int theRows, int theColumns, int theLogic, bool cleanMe = true );
Construye una matrix rectangular de nr x nc. Reserva memoria.
Parameters:
cleanMe - true: Limpia la matriz con 0.0. false: no inicializa.

~RectangularMatrix

public ~RectangularMatrix();
Libera recursos.


Method Detail

add

public static void add( RectangularMatrix& right, RectangularMatrix& left, RectangularMatrix& res );
Suma las matrices, regresa una nueva matriz con el resultado. No checa dimensiones, ni logica Logica cero. * @return Matriz con las mismas caracteristicas que la matriz actual.

clean

public void clean();
Limpia la matriz.

copyFrom

public void copyFrom( RectangularMatrix& matrix );
Copia los datos a la matriz actual. * No checa dimensiones.

deleteRectangular

public void deleteRectangular();
Usado por destructor y resize.

fill

public void fill( double value );
Llena la matriz con el valor indicado. Logica cero.
Parameters:
value - Cada elemento valdra este numero.

multiply

public static void multiply( RectangularMatrix& right, RectangularMatrix& left, RectangularMatrix& res );
Multiplica la matriz actual por la del argumento. Las dimensiones de las matrices deben ser A(n x m) B(m x p) = c(n x p). Se deja la logica igual para todos. No checa dimension m. Logica cero.
Returns:
Matriz de dimensiones rows x left.columns

multiply

public static void multiply( RectangularMatrix& right, double left, RectangularMatrix& res ) throw( runtime_error );
Multiplica la matriz actual por un escalar y crea una matriz cuadrada del mismo taman~o Ejemplo: No checa dimensiones, ni logica Logica cero.
Returns:
RectangularMatrix

operator()

public const double& operator()( int row, int column ) const throw( invalid_argument );
Permite asignacion (operator=). Logica 0, (0, 0) apunta al matematico A 1,1 esq sup izq
Parameters:
row - Logica cero: [0, row -1]. Logica uno: [1, row]
column - Logica cero: [0, col -1]. Logica uno: [1, col]

operator*

public VectorDouble operator*( VectorDouble& left );
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. Por default se refiere a postmultiplicacion. Es decir, se multiplica la matriz por un vector columna. Este metodo puede ser sobreescrito ("override") para eficientarlo ya que recorre todos los elementos (existan o no) de la matriz. Las dimensiones de las matrices deben ser A(n x m) b(m x 1) = c(m x 1). Ejemplo:

arrDoubC = mdA.multiplyBy(arrDoubB)

No checa dimensiones, ni logica Logica cero.
Returns:
Vector columna (double[]) producto entre "MatrixDouble" y el vector columna "b". "null" si las dimensiones no coinciden.
See Also:
premultiply

operator=

public const RectangularMatrix& operator=( const RectangularMatrix& right ) throw( runtime_error );
Protege de no usarlo.

operator[]

public const VectorDouble& operator[]( int row ) const;
Proteger a la matriz de reasignacion de memoria. Permite asignacion (operator=). Logica 0, (0, 0) apunta al matematico A 1,1 esq sup izq
Parameters:
row - Logica cero: [0, row -1]. Logica uno: [1, row]
column - Logica cero: [0, col -1]. Logica uno: [1, col]

print

public void print( int digits ) const;
Muestra la matriz en la consola con un cierto numero de digitos.
Parameters:
digits - Numero de digitos a mostra (fixed).

print

public void print() const;
Muestra la matriz en la consola. Logica variable. * @version usa << de vector.

readElements

public void readElements();
Entrada de la matriz sin las dimensiones en la consola. * Logica uno (row), variable(col).

resize

public void resize( int theRows, int theColumns, int theLogic, bool cleanMe );
Reconstruye todos los parametros de la matriz. Libera y asigna memoria. Se pierden los datos. Si es de misma logica, no cambia. Si es del mismo taman~o, no cambia. * Logica cero.

setLogic

public void setLogic( int theLogic );
Cambia la logica de la matriz. Logica cero.
Parameters:
theLogica - 0: Logica cero. !=0: Logica 1.

substract

public static void substract( RectangularMatrix& right, RectangularMatrix& left, RectangularMatrix& res );
Resta las matrices, regresa una nueva matriz con el resultado. Actual = right (operador) left. No checa dimensiones, ni logica Logica cero. * @return Matriz con las mismas caracteristicas que la matriz actual.

takeDiagonal

public VectorDouble takeDiagonal();
Returns:
Vector con la diagonal con la misma logica y la dimension menor.

transpose

public void transpose( RectangularMatrix& matrix );
Transpone una matriz. Se ajustan dimensiones de la actual

 Overview   Project   Class   Tree   Deprecated   Index 
Optimización Mínimos Cuadrados de la Ecuación Logística con Quasi Newton modificado y Double dogleg step
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD