Resolucion de sistemas lineales
 All Classes Files Functions Variables Typedefs Macros Pages
Public Member Functions | List of all members
Matriz Class Referenceabstract

Clase base para el trabajar con matrices de punto flotante. More...

#include <Matriz.hpp>

Inheritance diagram for Matriz:
Inheritance graph
[legend]
Collaboration diagram for Matriz:
Collaboration graph
[legend]

Public Member Functions

 Matriz (void)
 Constructor de la clase. More...
 
ldouble operator() (size_t ren, size_t col)
 Retorna el valor del renglon y columna solicitado. More...
 
virtual void asigna (const int ren, const int col, const ldouble val)=0
 Asigna el valor indicado en el renglon y columna solicitado. More...
 
virtual ldouble retorna (const int ren, const int col)=0
 Retorna el valor del renglon y columna solicitado. More...
 
void retornaRenglon (int r, ldouble *arr, int tam)
 Retorna el contenido del renglon de la matriz en el arreglo. More...
 
virtual void inicializa (const ldouble val)=0
 Inicializa la matriz con el valor indicado. More...
 
void inicializaDiagonal (const ldouble val)
 Inicializa la matriz como una matriz diagonal con el valor indicado. More...
 
void visualiza (const int tp)
 Visualiza la matriz. More...
 
void convierte (ldouble *a, int ren, int tam)
 Convierte el arreglo unidimensional en parte de la matriz en el renglon Ren y de tamaño Tam. More...
 
void convierte (ldouble **a, int ren, int col)
 Convierte un arreglo bidimensional de numero de renglones REN y columnas Col. More...
 
void convierte (int ren, Vector *a)
 Convierte el contenido del vector en parte de la matriz en el renglon Ren. More...
 
void convierte (int ren, int col, ldouble *a)
 Convierte el contenido del arreglo unidimensional que contiene una matriz de Ren x Col a matriz. More...
 
void retornaVector (Vector *a)
 Retorna todo el contenido de la matriz como un vector. More...
 
virtual void copia (Matriz *a)
 Copia el contenido de la matriz a la matriz pasada como parámetro. More...
 
void suma (Matriz *a, Matriz *b)
 Suma las matrices A y B. More...
 
void suma (Matriz *a)
 Suma a la matriz el contenido de la matriz pasada como parámetro. More...
 
void resta (Matriz *a, Matriz *b)
 Resta a la matriz A la matriz B. More...
 
void resta (Matriz *a)
 Resta a la matriz el contenido de la matriz padada como parámetro. More...
 
virtual void multiplica (ldouble esc)=0
 Multiplica la matriz por el escalar pasado como parametro. More...
 
virtual void multiplica (Vector *b, Vector *r)=0
 Multiplica la matriz por el vector B dejando el Resultado en R. More...
 
void transpuesta (Matriz *a)
 Transpone la matriz pasada como parámetro. More...
 
int iguales (Matriz *a, ldouble eps=1e-14)
 Regresa verdadero si las matrices son iguales, cero en caso contrario. More...
 
int maximoTamanoColumnaOcupado (void)
 Retorna el máximo tamaño en todas las columnas que sean distintos de cero. More...
 
int entradasDistintasCero (void)
 Retorna el número de entradas distintas de cero en la matriz. More...
 
virtual int retornaNumeroColumnasBanda (int ren)=0
 Retorna el número de columnas de la banda para el renglon indicado. More...
 
virtual int retornaNumeroColumna (int ren, int ind)=0
 Retorna el número de columna cuando se para en el renglon e indice de la banda. More...
 
virtual double retornaValorColumna (int ren, int ind)=0
 Retorna el valor de la columna cuando se para en el renglon e indice de la banda. More...
 
- Public Member Functions inherited from Matriz_Base
 Matriz_Base (void)
 Constructor de la clase. More...
 
 ~Matriz_Base ()
 Destructor de la clase. More...
 
void asignaNombre (const char *nmb)
 Asigna nombre a la matriz. More...
 
char * nombre (void)
 Retorna el nombre de la matriz. More...
 
int renglones (void)
 Retorna el número de renglones de la matriz. More...
 
int columnas (void)
 Retorna el número de columnas de la matriz. More...
 
int matrizCuadrada (void)
 Es una matriz cuadrada. More...
 
int mismaDimension (Matriz_Base *a)
 Revisa si ambas matrices tienen la misma dimensión More...
 
int retornaTipoMatriz (void)
 Retorna el tipo de matriz. More...
 
void faltaMemoria (void)
 Visualiza el error de falta de memoria para soportar la matriz. More...
 
void visualizaInformacion (void)
 Visualiza información general de la matriz. More...
 
ldouble tamano (void)
 Tamaño de la matriz (aproximado) en Kb. More...
 
void visualizaTamano (void)
 Visualiza el tamaño en memoria de la matriz en Kb. More...
 
virtual void liberaMemoria (void)=0
 Libera la memoria solicitada para la matriz. More...
 

Additional Inherited Members

- Protected Attributes inherited from Matriz_Base
int Col
 Número de columnas. More...
 
int Ren
 Número de renglones. More...
 
int Ban
 Tamaño de la banda (solo si es bandada o dispersa) More...
 
char * Nmb
 Nombre de la matriz. More...
 
int Tipo_Matriz
 Indica el tipo de matriz de que se trate. More...
 

Detailed Description

Clase base para el trabajar con matrices de punto flotante.

Author
Antonio Carrillo Ledesma
Date
primavera 2009
Version
1.0.1
Bug:
No hay errores conocidos

Constructor & Destructor Documentation

Matriz::Matriz ( void  )
inline

Constructor de la clase.

Member Function Documentation

virtual void Matriz::asigna ( const int  ren,
const int  col,
const ldouble  val 
)
pure virtual

Asigna el valor indicado en el renglon y columna solicitado.

Parameters
renRenglon
colColumna
valValor

Implemented in MatrizDensa, MatrizBandComp, MatrizDispersa, and MatrizBand.

void Matriz::convierte ( ldouble a,
int  ren,
int  tam 
)

Convierte el arreglo unidimensional en parte de la matriz en el renglon Ren y de tamaño Tam.

Parameters
apuntero al arreglo
renRenglon en el cual se insertara el contenido del arreglo
tamTamaño del arreglo
void Matriz::convierte ( ldouble **  a,
int  ren,
int  col 
)

Convierte un arreglo bidimensional de numero de renglones REN y columnas Col.

Parameters
apuntero al arreglo
renRenglones
colColumnas
void Matriz::convierte ( int  ren,
Vector a 
)

Convierte el contenido del vector en parte de la matriz en el renglon Ren.

Parameters
renRenglon en el cual se insertara el contenido del arreglo
apuntero al vector
void Matriz::convierte ( int  ren,
int  col,
ldouble a 
)

Convierte el contenido del arreglo unidimensional que contiene una matriz de Ren x Col a matriz.

Parameters
renNúmero de renglones
colNúmero de columnas
apuntero al arreglo
void Matriz::copia ( Matriz a)
virtual

Copia el contenido de la matriz a la matriz pasada como parámetro.

Parameters
aPuntero a una Matriz
int Matriz::entradasDistintasCero ( void  )
virtual

Retorna el número de entradas distintas de cero en la matriz.

Returns
Número de entradas distintas de cero en la matriz

Implements Matriz_Base.

int Matriz::iguales ( Matriz a,
ldouble  eps = 1e-14 
)

Regresa verdadero si las matrices son iguales, cero en caso contrario.

Parameters
aPuntero a la matriz
epsTolerancia usada en la comparación
Returns
(1) si son iguales, (0) en caso contrario
virtual void Matriz::inicializa ( const ldouble  val)
pure virtual

Inicializa la matriz con el valor indicado.

Parameters
valValor

Implemented in MatrizDensa, MatrizBandComp, MatrizDispersa, and MatrizBand.

void Matriz::inicializaDiagonal ( const ldouble  val)

Inicializa la matriz como una matriz diagonal con el valor indicado.

Parameters
valValor
int Matriz::maximoTamanoColumnaOcupado ( void  )
virtual

Retorna el máximo tamaño en todas las columnas que sean distintos de cero.

Returns
Máximo tamaño de columnas ocupadas en la matriz

Implements Matriz_Base.

virtual void Matriz::multiplica ( ldouble  esc)
pure virtual

Multiplica la matriz por el escalar pasado como parametro.

Parameters
escEscalar

Implemented in MatrizDensa, MatrizBandComp, MatrizDispersa, MatrizBand, and MatrizBandDisp.

virtual void Matriz::multiplica ( Vector b,
Vector r 
)
pure virtual

Multiplica la matriz por el vector B dejando el Resultado en R.

Parameters
bPuntero a un Vector
rPuntero a un Vector

Implemented in MatrizDensa, MatrizBandComp, MatrizDispersa, MatrizBand, and MatrizBandDisp.

ldouble Matriz::operator() ( size_t  ren,
size_t  col 
)
inline

Retorna el valor del renglon y columna solicitado.

Parameters
renRenglon
colColumna
Returns
Valor
void Matriz::resta ( Matriz a,
Matriz b 
)

Resta a la matriz A la matriz B.

Parameters
aPuntero a una Matriz
bPuntero a una Matriz
void Matriz::resta ( Matriz a)

Resta a la matriz el contenido de la matriz padada como parámetro.

Parameters
aPuntero a una Matriz
virtual ldouble Matriz::retorna ( const int  ren,
const int  col 
)
pure virtual

Retorna el valor del renglon y columna solicitado.

Parameters
renRenglon
colColumna
Returns
Valor

Implemented in MatrizDensa, MatrizBandComp, MatrizDispersa, and MatrizBand.

virtual int Matriz::retornaNumeroColumna ( int  ren,
int  ind 
)
pure virtual

Retorna el número de columna cuando se para en el renglon e indice de la banda.

Parameters
renNúmero de renglon
indNúmero de indice
Returns
Número de columna cuando se para en el renglon e indice de la banda

Implemented in MatrizDensa, MatrizBandComp, MatrizDispersa, and MatrizBand.

virtual int Matriz::retornaNumeroColumnasBanda ( int  ren)
pure virtual

Retorna el número de columnas de la banda para el renglon indicado.

Parameters
renNúmero de renglon
Returns
Número de columnas de la banda para el renglon solicitado

Implemented in MatrizDensa, MatrizBandComp, MatrizDispersa, and MatrizBand.

void Matriz::retornaRenglon ( int  r,
ldouble arr,
int  tam 
)
inline

Retorna el contenido del renglon de la matriz en el arreglo.

Parameters
rRenglon
[out]arrArreglo de tipo ldouble
tamTamaño del arreglo
virtual double Matriz::retornaValorColumna ( int  ren,
int  ind 
)
pure virtual

Retorna el valor de la columna cuando se para en el renglon e indice de la banda.

Parameters
renNúmero de renglon
indNúmero de indice
Returns
Valor de la columna cuando se para en el renglon e indice de la banda

Implemented in MatrizDensa, MatrizBandComp, MatrizDispersa, and MatrizBand.

void Matriz::retornaVector ( Vector a)

Retorna todo el contenido de la matriz como un vector.

Parameters
apuntero al vector
void Matriz::suma ( Matriz a,
Matriz b 
)

Suma las matrices A y B.

Parameters
aPuntero a una Matriz
bPuntero a una Matriz
void Matriz::suma ( Matriz a)

Suma a la matriz el contenido de la matriz pasada como parámetro.

Parameters
aPuntero a una Matriz
void Matriz::transpuesta ( Matriz a)

Transpone la matriz pasada como parámetro.

Parameters
aPuntero a la matriz
void Matriz::visualiza ( const int  tp)

Visualiza la matriz.

Parameters
tp(1) Se visualiza el vector de en formato de notación científica, (0) formato notación de punto flotante

The documentation for this class was generated from the following files: