Resolucion de sistemas lineales
 All Classes Files Functions Variables Typedefs Macros Pages
MatrizBandDisp.hpp
Go to the documentation of this file.
1 // Clase base para trabajar con matrices bandadas y dispersas //
3 // //
4 // Análisis y Diseño y Programación: //
5 // //
6 // Nombre: Antonio Carrillo Ledesma //
7 // E-mail: acl@www.mmc.geofisica.unam.mx //
8 // Página: http://www.mmc.geofisica.unam.mx/acl //
9 // //
10 // //
11 // Este programa es software libre. Puede redistribuirlo y/o modificarlo //
12 // bajo los términos de la Licencia Pública General de GNU según es //
13 // publicada por la Free Software Foundation, bien de la versión 2 de //
14 // dicha Licencia o bien (según su elección) de cualquier versión //
15 // posterior. //
16 // //
17 // Este programa se distribuye con la esperanza de que sea útil, pero SIN //
18 // NINGUNA GARANTÍA, incluso sin la garantía MERCANTIL implícita o sin //
19 // garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR. Véase la //
20 // Licencia Pública General de GNU para más detalles. //
21 // //
22 // Debería haber recibido una copia de la Licencia Pública General junto //
23 // con este programa. Si no ha sido así, escriba a la Free Software //
24 // Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU. //
25 // //
26 // //
28 
29 
30 
31 #ifndef __MatrizBandDisp__
32 #define __MatrizBandDisp__
33 
34 
35 #include "Matriz.hpp"
36 
37 
39 
44 class MatrizBandDisp : public Matriz
45 {
46 private:
47 
49 
52  virtual void solicitaMemoria(const int ren, const int col, const int ban) = 0;
53 
54 
55 public:
56 
59  {
60  }
61 
62 
64 
65  inline int tamanoBanda(void)
66  {
67  return Ban;
68  }
69 
70 
72 
73  virtual void multiplica(ldouble esc) = 0;
74 
75 
77 
79  virtual void multiplica(Vector *b, Vector *r) = 0;
80 
81 
83  virtual void visualizaMatricesInternas(void) = 0;
84 
85 };
86 
87 
92 #endif
virtual void multiplica(ldouble esc)=0
Multiplica la matriz por el escalar pasado como parametro.
Clase base para trabajar con matrices bandadas y dispersas.
Definition: MatrizBandDisp.hpp:44
int Ban
Tamaño de la banda (solo si es bandada o dispersa)
Definition: Matriz_Base.hpp:66
Clase para el trabajar con vectores de punto flotante.
Definition: Vector.hpp:47
Clase base para el trabajar con matrices de punto flotante.
Definition: Matriz.hpp:44
virtual void visualizaMatricesInternas(void)=0
Visualiza las matrices internas usadas para soportar a las matrices bandadas.
double ldouble
Define ldouble como double.
Definition: Definiciones.hpp:50
MatrizBandDisp(void)
Constructor de la clase.
Definition: MatrizBandDisp.hpp:58
int tamanoBanda(void)
Retorna el tamaño de la banda.
Definition: MatrizBandDisp.hpp:65