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

#include <MatrizBand.hpp>

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

Public Member Functions

 MatrizBand (const int ren, const int col, const int ban)
 Constructor de la clase. More...
 
 MatrizBand (const int ren, const int col, const int ban, const char *nmb)
 Constructor de la clase. More...
 
 ~MatrizBand ()
 
void liberaMemoria (void)
 Libera la memoria solicitada para la matriz. More...
 
void inicializa (ldouble val)
 Inicializa la matriz al valor indicado. More...
 
void asigna (const int ren, const int col, const ldouble val)
 Asigna el valor indicado en el renglo y columna solicitado. More...
 
ldouble retorna (const int ren, const int col)
 Retorna el valor del renglon y columna solicitado. More...
 
int retornaNumeroColumnasBanda (int ren)
 Retorna el número de columnas de la banda para el renglon indicado. More...
 
int retornaNumeroColumna (int ren, int ind)
 Retorna el número de columna cuando se para en el renglon e indice de la banda. More...
 
double retornaValorColumna (int ren, int ind)
 Retorna el valor de la columna cuando se para en el renglon e indice de la banda. More...
 
void multiplica (ldouble esc)
 Multiplica la matriz por el escalar pasado como parametro. More...
 
void multiplica (MatrizBand *a, MatrizBand *b)
 Multiplica la matriz A por la matriz B. More...
 
void multiplica (Vector *b, Vector *r)
 Multiplica la matriz por el vector B dejando el Resultado en R. More...
 
void visualizaMatricesInternas (void)
 Visualiza las matrices internas usadas para soportar a las matrices bandadas. More...
 
- Public Member Functions inherited from MatrizBandDisp
 MatrizBandDisp (void)
 Constructor de la clase. More...
 
int tamanoBanda (void)
 Retorna el tamaño de la banda. More...
 
- Public Member Functions inherited from Matriz
 Matriz (void)
 Constructor de la clase. More...
 
ldouble operator() (size_t ren, size_t col)
 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...
 
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...
 
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...
 
- 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...
 

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 para el trabajar con matrices bandadas de punto flotante basada en el algoritmo Compressed Diagonal Storage (CDS) El algoritmo esta optimizado para hacer producto matriz vector

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

Hacer comportamiento para cambiar tamaño de banda

Multiplicación de matrices

Constructor & Destructor Documentation

MatrizBand::MatrizBand ( const int  ren,
const int  col,
const int  ban 
)
inline

Constructor de la clase.

Parameters
renNúmero de renglones de la matriz
colNúmero de columnas de la matriz
banTamaño de la banda
MatrizBand::MatrizBand ( const int  ren,
const int  col,
const int  ban,
const char *  nmb 
)
inline

Constructor de la clase.

Parameters
renNúmero de renglones de la matriz
colNúmero de columnas de la matriz
banTamaño de la banda
nmbNombre de la matriz
MatrizBand::~MatrizBand ( )
inline

Member Function Documentation

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

Asigna el valor indicado en el renglo y columna solicitado.

Parameters
renRenglon
colColumna
valValor

Implements Matriz.

void MatrizBand::inicializa ( ldouble  val)
inlinevirtual

Inicializa la matriz al valor indicado.

Parameters
valValor por omisión para inicializar la matriz

Implements Matriz.

void MatrizBand::liberaMemoria ( void  )
virtual

Libera la memoria solicitada para la matriz.

Implements Matriz_Base.

void MatrizBand::multiplica ( ldouble  esc)
virtual

Multiplica la matriz por el escalar pasado como parametro.

Parameters
escEscalar

Implements MatrizBandDisp.

void MatrizBand::multiplica ( MatrizBand a,
MatrizBand b 
)

Multiplica la matriz A por la matriz B.

Parameters
aPuntero a matriz densa
bPuntero a matriz densa
void MatrizBand::multiplica ( Vector b,
Vector r 
)
virtual

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

Parameters
bPuntero a un Vector
rPuntero a un Vector

Implements MatrizBandDisp.

ldouble MatrizBand::retorna ( const int  ren,
const int  col 
)
virtual

Retorna el valor del renglon y columna solicitado.

Parameters
renRenglon
colColumna
Returns
Valor

Implements Matriz.

int MatrizBand::retornaNumeroColumna ( int  ren,
int  ind 
)
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

Implements Matriz.

int MatrizBand::retornaNumeroColumnasBanda ( int  ren)
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

Implements Matriz.

double MatrizBand::retornaValorColumna ( int  ren,
int  ind 
)
inlinevirtual

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

Implements Matriz.

void MatrizBand::visualizaMatricesInternas ( void  )
virtual

Visualiza las matrices internas usadas para soportar a las matrices bandadas.

Implements MatrizBandDisp.


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