MeLOn
Loading...
Searching...
No Matches
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#include "scaler.h"
23
24namespace melon {
25
31 struct GPData : public ModelData {
32 std::shared_ptr<kernel::KernelData> kernelData;
34 int nX;
35 int DX;
36 int DY;
37 int matern;
39 std::shared_ptr<ScalerData> inputScalerData;
40 std::shared_ptr<ScalerData> predictionScalerData;
42 //std::vector<double> inputLowerBound; /*!< Vector containing lower bound for each input dimension */
43 //std::vector<double> inputUpperBound; /*!< Vector containing upper bound for each input dimension */
44 //std::vector<double> problemLowerBound; /*!< Vector containing lower bound for each output dimension */
45 //std::vector<double> problemUpperBound; /*!< Vector containing upper bound for each output dimesnion */
46
47 std::vector<std::vector<double>> X;
48 std::vector<double> Y;
49 std::vector<std::vector<double>> K;
50 std::vector<std::vector<double>> invK;
53 double stdOfOutput;
54 // TODO: remove (?)
56 //double meanOfOutput;
57 };
58}
Definition kernel.h:21
Abstract class from which specific model data object can be derived and enabling polymorphism.
Definition modelData.h:22
struct containing all information regarding the Gaussian process
Definition gpData.h:31
std::shared_ptr< ScalerData > predictionScalerData
Definition gpData.h:40
double meanfunction
Definition gpData.h:55
int matern
Definition gpData.h:37
std::vector< std::vector< double > > invK
Definition gpData.h:50
double stdOfOutput
Definition gpData.h:53
int DX
Definition gpData.h:35
std::vector< std::vector< double > > X
Definition gpData.h:47
std::shared_ptr< ScalerData > inputScalerData
Definition gpData.h:39
int DY
Definition gpData.h:36
std::shared_ptr< kernel::KernelData > kernelData
Definition gpData.h:32
std::vector< double > Y
Definition gpData.h:48
std::vector< std::vector< double > > K
Definition gpData.h:49
int nX
Definition gpData.h:34