https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ParallelAcquisitionFunctionBase.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://www.mooseframework.org
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "StochasticToolsApp.h"
13#include "MooseObject.h"
14#include "libmesh/utility.h"
15
20{
21public:
24
36 void computeAcquisition(std::vector<Real> & acq,
37 const std::vector<Real> & gp_mean,
38 const std::vector<Real> & gp_std,
39 const std::vector<std::vector<Real>> & test_inputs,
40 const std::vector<std::vector<Real>> & train_inputs,
41 const std::vector<Real> & generic) const;
42
53 void penalizeAcquisition(std::vector<Real> & modified_acq,
54 std::vector<unsigned int> & sorted_indices,
55 const std::vector<Real> & acq,
56 const std::vector<Real> & length_scales,
57 const std::vector<std::vector<Real>> & inputs);
58
66 void computeCorrelation(Real & corr,
67 const std::vector<Real> & input1,
68 const std::vector<Real> & input2,
69 const std::vector<Real> & length_scales);
70
71protected:
82 virtual void computeAcquisitionInternal(std::vector<Real> & acq,
83 const std::vector<Real> & gp_mean,
84 const std::vector<Real> & gp_std,
85 const std::vector<std::vector<Real>> & test_inputs,
86 const std::vector<std::vector<Real>> & train_inputs,
87 const std::vector<Real> & generic) const = 0;
88};
const InputParameters & parameters() const
All ParallelAcquisition functions should inherit from this class.
void penalizeAcquisition(std::vector< Real > &modified_acq, std::vector< unsigned int > &sorted_indices, const std::vector< Real > &acq, const std::vector< Real > &length_scales, const std::vector< std::vector< Real > > &inputs)
Return the modified acquisition function values and sorted indices considering local penalization (in...
void computeAcquisition(std::vector< Real > &acq, const std::vector< Real > &gp_mean, const std::vector< Real > &gp_std, const std::vector< std::vector< Real > > &test_inputs, const std::vector< std::vector< Real > > &train_inputs, const std::vector< Real > &generic) const
Compute the acquisition function values.
void computeCorrelation(Real &corr, const std::vector< Real > &input1, const std::vector< Real > &input2, const std::vector< Real > &length_scales)
Compute the correlation between two inputs using the length scales.
virtual void computeAcquisitionInternal(std::vector< Real > &acq, const std::vector< Real > &gp_mean, const std::vector< Real > &gp_std, const std::vector< std::vector< Real > > &test_inputs, const std::vector< std::vector< Real > > &train_inputs, const std::vector< Real > &generic) const =0
Implementation hook for derived classes (no size checks here).