00001 /****************************************************************************************************************/ 00002 /* */ 00003 /* OpenNN: Open Neural Networks Library */ 00004 /* www.opennn.cimne.com */ 00005 /* */ 00006 /* I N V E R S E P R O B L E M T E S T I N G C L A S S H E A D E R */ 00007 /* */ 00008 /* Roberto Lopez */ 00009 /* International Center for Numerical Methods in Engineering (CIMNE) */ 00010 /* Technical University of Catalonia (UPC) */ 00011 /* Barcelona, Spain */ 00012 /* E-mail: rlopez@cimne.upc.edu */ 00013 /* */ 00014 /****************************************************************************************************************/ 00015 00016 #ifndef __INVERSEPROBLEMTESTING_H__ 00017 #define __INVERSEPROBLEMTESTING_H__ 00018 00019 // OpenNN includes 00020 00021 #include "../utilities/vector.h" 00022 #include "../utilities/matrix.h" 00023 00024 #include "../data_set/data_set.h" 00025 #include "../mathematical_model/mathematical_model.h" 00026 00027 #include "../neural_network/neural_network.h" 00028 00029 namespace OpenNN 00030 { 00031 00035 00036 00037 class InverseProblemTesting 00038 { 00039 00040 public: 00041 00042 // DEFAULT CONSTRUCTOR 00043 00044 explicit InverseProblemTesting(void); 00045 00046 // NEURAL NETWORK CONSTRUCTOR 00047 00048 explicit InverseProblemTesting(NeuralNetwork*); 00049 00050 // DATA SET CONSTRUCTOR 00051 00052 explicit InverseProblemTesting(DataSet*); 00053 00054 // NEURAL NETWORK, DATA SET AND MATHEMATICAL MODEL CONSTRUCTOR 00055 00056 explicit InverseProblemTesting(NeuralNetwork*, DataSet*, MathematicalModel*); 00057 00058 // XML CONSTRUCTOR 00059 00060 explicit InverseProblemTesting(TiXmlElement*); 00061 00062 // DESTRUCTOR 00063 00064 virtual ~InverseProblemTesting(void); 00065 00066 // METHODS 00067 00068 // Get methods 00069 00070 NeuralNetwork* get_neural_network_pointer(void) const; 00071 DataSet* get_data_set_pointer(void) const; 00072 MathematicalModel* get_mathematical_model_pointer(void) const; 00073 00074 const bool& get_display(void) const; 00075 00076 // Set methods 00077 00078 void set_neural_network_pointer(NeuralNetwork*); 00079 void set_data_set_pointer(DataSet*); 00080 void set_mathematical_model_pointer(MathematicalModel*); 00081 00082 void set_display(const bool&); 00083 00084 void set_default(void); 00085 00086 // Serialization methods 00087 00088 std::string to_string(void) const; 00089 00090 virtual TiXmlElement* to_XML(void) const; 00091 virtual void from_XML(TiXmlElement*); 00092 00093 private: 00094 00096 00097 NeuralNetwork* neural_network_pointer; 00098 00100 00101 DataSet* data_set_pointer; 00102 00104 00105 MathematicalModel* mathematical_model_pointer; 00106 00108 00109 bool display; 00110 }; 00111 00112 } 00113 00114 #endif 00115 00116 // OpenNN: Open Neural Networks Library. 00117 // Copyright (C) 2005-2012 Roberto Lopez 00118 // 00119 // This library is free software; you can redistribute it and/or 00120 // modify it under the terms of the GNU Lesser General Public 00121 // License as published by the Free Software Foundation; either 00122 // version 2.1 of the License, or any later version. 00123 // 00124 // This library is distributed in the hope that it will be useful, 00125 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00126 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00127 // Lesser General Public License for more details. 00128 00129 // You should have received a copy of the GNU Lesser General Public 00130 // License along with this library; if not, write to the Free Software 00131 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA