Resolucion de sistemas lineales
All Classes Files Functions Variables Typedefs Macros Pages
BCGM.hpp
Go to the documentation of this file.
1 // Clase para resolver un sistema lineal mediante CGM //
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 __BCGM__
32 #define __BCGM__
33 
35 #include "MultOp.hpp"
36 #include "ProductoPunto.hpp"
37 
38 
40 
46 {
47 
48 
49 protected:
50 
51  // Operador
53 
56 
58  int Iter;
59 
62 
63 
64 public:
65 
67 
71  BCGM(MultOp &a, ProductoPunto &prod, int iter, ldouble ep) : ResuelveSistemaLineal()
72  {
73  A = &a;
74  prodP = ∏
75  Iter = iter;
76  Ep = ep;
77  }
78 
80  void resuelve(void);
81 
82 
84 
86  void resuelve(Vector *x, Vector *b)
87  {
88  X = x;
89  B = b;
90  resuelve();
91  }
92 
94 
95  void tolerancia(ldouble eps)
96  {
97  Ep = eps;
98  }
99 
101 
102  void iteraciones(int iter)
103  {
104  Iter = iter;
105  }
106 
107 
108 };
109 
114 #endif
BCGM(MultOp &a, ProductoPunto &prod, int iter, ldouble ep)
Constructor de la clase.
Definition: BCGM.hpp:71
Clase para implementar la multiplicaci�n de la matriz por el vector.
Definition: MultOp.hpp:42
int Iter
N�mero m�ximo de iteraciones.
Definition: BCGM.hpp:58
void resuelve(Vector *x, Vector *b)
Resuelve el sistema lineal.
Definition: BCGM.hpp:86
Clase para el trabajar con vectores de punto flotante.
Definition: Vector.hpp:47
void tolerancia(ldouble eps)
Establece la tolerancia del metodo.
Definition: BCGM.hpp:95
double ldouble
Define ldouble como double.
Definition: Definiciones.hpp:50
Clase para resoluci�n del sistema lineal.
Definition: ResuelveSistemaLineal.hpp:66
Clase para implementar el producto punto.
Definition: ProductoPunto.hpp:43
Vector * B
Vactor lado derecho.
Definition: ResuelveSistemaLineal.hpp:82
MultOp * A
Definition: BCGM.hpp:52
ldouble Ep
Tolerancia.
Definition: BCGM.hpp:61
ProductoPunto * prodP
Producto Punto.
Definition: BCGM.hpp:55
void iteraciones(int iter)
Establece el maximo numero de iteraciones.
Definition: BCGM.hpp:102
void resuelve(void)
Resuelve el sistema lineal.
Definition: BCGM.cpp:34
Clase para resoluci�n del sistema lineal mediante CGM.
Definition: BCGM.hpp:45
Vector * X
Vector soluci�n
Definition: ResuelveSistemaLineal.hpp:80