MeLOn
gpData.h
Go to the documentation of this file.
1 /***********************************************************************************
2 * Copyright (c) 2020 Process Systems Engineering (AVT.SVT), RWTH Aachen University
3 *
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License 2.0 which is available at
6 * http://www.eclipse.org/legal/epl-2.0.
7 *
8 * SPDX-License-Identifier: EPL-2.0
9 *
10 * @file gpData.h
11 *
12 * @brief File containing declaration of a struct for storing Gaussian process data
13 *
14 **********************************************************************************/
15 
16 #pragma once
17 
18 #include <vector> // std::vector
19 
20 #include "matern.h"
21 #include "modelData.h"
22 
23 namespace melon {
24 
30  struct GPData : public ModelData {
31  std::shared_ptr<kernel::KernelData> kernelData;
33  int nX;
34  int DX;
35  int DY;
36  int matern;
38  std::shared_ptr<ScalerData> inputScalerData;
39  std::shared_ptr<ScalerData> predictionScalerData;
41  //std::vector<double> inputLowerBound; /*!< Vector containing lower bound for each input dimension */
42  //std::vector<double> inputUpperBound; /*!< Vector containing upper bound for each input dimension */
43  //std::vector<double> problemLowerBound; /*!< Vector containing lower bound for each output dimension */
44  //std::vector<double> problemUpperBound; /*!< Vector containing upper bound for each output dimesnion */
45 
46  std::vector<std::vector<double>> X;
47  std::vector<double> Y;
48  std::vector<std::vector<double>> K;
49  std::vector<std::vector<double>> invK;
52  double stdOfOutput;
53  // TODO: remove (?)
54  double meanfunction;
55  //double meanOfOutput;
56  };
57 }
melon::GPData::predictionScalerData
std::shared_ptr< ScalerData > predictionScalerData
Definition: gpData.h:52
melon::GPData::meanfunction
double meanfunction
Definition: gpData.h:67
melon::GPData::DX
int DX
Definition: gpData.h:47
melon::GPData::stdOfOutput
double stdOfOutput
Definition: gpData.h:65
melon::GPData::invK
std::vector< std::vector< double > > invK
Definition: gpData.h:62
melon::GPData::inputScalerData
std::shared_ptr< ScalerData > inputScalerData
Definition: gpData.h:51
modelData.h
melon::GPData::nX
int nX
Definition: gpData.h:46
ModelData
Abstract class from which specific model data object can be derived and enabling polymorphism.
Definition: modelData.h:22
melon::GPData::Y
std::vector< double > Y
Definition: gpData.h:60
matern.h
melon::GPData::K
std::vector< std::vector< double > > K
Definition: gpData.h:61
melon::GPData::kernelData
std::shared_ptr< kernel::KernelData > kernelData
Definition: gpData.h:44
melon
Definition: kernel.h:21
melon::GPData::matern
int matern
Definition: gpData.h:49
melon::GPData::X
std::vector< std::vector< double > > X
Definition: gpData.h:59
melon::GPData::DY
int DY
Definition: gpData.h:48