https://mooseframework.inl.gov
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 {
21 public:
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 
71 protected:
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 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).
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
ParallelAcquisitionFunctionBase(const InputParameters &parameters)
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.