YANE-Framework Tutorial 1.1.0

examples/linearequation/src/Problems/linearequationproblem.h

00001 /***************************************************************************
00002  *                                                                         *
00003  * Copyright (C) 2011 by www.nonlinearmpc.com                              *
00004  *                                                                         *
00005  * Authors:                                                                *
00006  *  Juergen Pannek <juergen.pannek@googlemail.com>                         *
00007  *                                                                         *
00008  ***************************************************************************/
00009 
00010 #ifndef _LINEAREQUATIONPROBLEM_
00011 #define _LINEAREQUATIONPROBLEM_
00012 
00013 #include <yane/utils/exceptions.h>
00014 
00015 namespace yane
00016 {
00017 
00018         namespace EqSys
00019         {
00020 
00021                 class LinearEquationProblem
00022                 {
00023                         public:
00024                                 LinearEquationProblem ( void );
00025                                 ~LinearEquationProblem ( void );
00026 
00027                                 void initialize ( int N = 0 );
00028                                 void getA ( double ** & A );
00029                                 void getB ( double * & b );
00030                                 int dimensionRows ( void );
00031                                 int dimensionColumns ( void );
00032                                 int dimensionB ( void );
00033 
00034                         protected:
00035                                 virtual void setupMatrix ( int N = 0 ) = 0;
00036                                 virtual void setupVector ( int N = 0 ) = 0;
00037 
00038                                 double ** _A;
00039                                 int _dimensionRows;
00040                                 int _dimensionColumns;
00041                                 double * _b;
00042                                 int _dimensionB;
00043                 };
00044         }
00045 }
00046 
00047 #endif