ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
sol
sampler
ROL_MonteCarloGenerator.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Rapid Optimization Library (ROL) Package
4
//
5
// Copyright 2014 NTESS and the ROL contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef ROL_MONTECARLOGENERATOR_HPP
11
#define ROL_MONTECARLOGENERATOR_HPP
12
13
#include "
ROL_SampleGenerator.hpp
"
14
#include "
ROL_Distribution.hpp
"
15
16
namespace
ROL
{
17
18
template
<
typename
Real>
19
class
MonteCarloGenerator
:
public
SampleGenerator
<Real> {
20
private
:
21
std::vector<std::vector<Real>>
data_
;
22
const
std::vector<Ptr<Distribution<Real>>>
dist_
;
23
24
int
nSamp_
;
25
const
bool
use_normal_
;
26
const
bool
use_SA_
;
27
const
bool
adaptive_
;
28
const
int
numNewSamps_
;
29
const
bool
useDist_
;
30
const
int
seed_
;
31
32
Real
sum_val_
;
33
Real
sum_val2_
;
34
Real
sum_ng_
;
35
Real
sum_ng2_
;
36
37
Real
ierf
(Real input)
const
;
38
Real
random
(
void
)
const
;
39
std::vector<std::vector<Real>>
sample
(
int
nSamp,
bool
store =
true
,
bool
refine
=
false
);
40
41
public
:
42
MonteCarloGenerator
(
int
nSamp,
43
const
std::vector<Ptr<
Distribution<Real>
>> &dist,
44
const
Ptr<
BatchManager<Real>
> &bman,
45
bool
use_SA =
false
,
46
bool
adaptive =
false
,
47
int
numNewSamps = 0,
48
int
seed = 123454321);
49
50
MonteCarloGenerator
(
int
nSamp,
51
std::vector<std::vector<Real>> &bounds,
52
const
Ptr<
BatchManager<Real>
> &bman,
53
bool
use_SA =
false
,
54
bool
adaptive =
false
,
55
int
numNewSamps = 0,
56
int
seed = 123454321);
57
58
MonteCarloGenerator
(
int
nSamp,
59
const
std::vector<Real> &mean,
60
const
std::vector<Real> &std,
61
const
Ptr<
BatchManager<Real>
> &bman,
62
bool
use_SA =
false
,
63
bool
adaptive =
false
,
64
int
numNewSamps = 0,
65
int
seed = 123454321);
66
67
void
update
(
const
Vector<Real>
&x )
override
;
68
Real
computeError
( std::vector<Real> &vals )
override
;
69
Real
computeError
( std::vector<Ptr<
Vector<Real>
>> &vals,
const
Vector<Real>
&x )
override
;
70
void
refine
(
void
)
override
;
71
int
numGlobalSamples
(
void
)
const override
;
72
73
};
74
75
}
76
77
#include "
ROL_MonteCarloGeneratorDef.hpp
"
78
79
#endif
ROL_Distribution.hpp
ROL_MonteCarloGeneratorDef.hpp
ROL_SampleGenerator.hpp
ROL::BatchManager
Definition
ROL_BatchManager.hpp:19
ROL::Distribution
Definition
ROL_Distribution.hpp:21
ROL::MonteCarloGenerator::computeError
Real computeError(std::vector< Real > &vals) override
Definition
ROL_MonteCarloGeneratorDef.hpp:190
ROL::MonteCarloGenerator::random
Real random(void) const
Definition
ROL_MonteCarloGeneratorDef.hpp:38
ROL::MonteCarloGenerator::data_
std::vector< std::vector< Real > > data_
Definition
ROL_MonteCarloGenerator.hpp:21
ROL::MonteCarloGenerator::use_normal_
const bool use_normal_
Definition
ROL_MonteCarloGenerator.hpp:25
ROL::MonteCarloGenerator::MonteCarloGenerator
MonteCarloGenerator(int nSamp, const std::vector< Ptr< Distribution< Real > > > &dist, const Ptr< BatchManager< Real > > &bman, bool use_SA=false, bool adaptive=false, int numNewSamps=0, int seed=123454321)
Definition
ROL_MonteCarloGeneratorDef.hpp:93
ROL::MonteCarloGenerator::sum_val_
Real sum_val_
Definition
ROL_MonteCarloGenerator.hpp:32
ROL::MonteCarloGenerator::sum_ng2_
Real sum_ng2_
Definition
ROL_MonteCarloGenerator.hpp:35
ROL::MonteCarloGenerator::dist_
const std::vector< Ptr< Distribution< Real > > > dist_
Definition
ROL_MonteCarloGenerator.hpp:22
ROL::MonteCarloGenerator::use_SA_
const bool use_SA_
Definition
ROL_MonteCarloGenerator.hpp:26
ROL::MonteCarloGenerator::sum_val2_
Real sum_val2_
Definition
ROL_MonteCarloGenerator.hpp:33
ROL::MonteCarloGenerator::update
void update(const Vector< Real > &x) override
Definition
ROL_MonteCarloGeneratorDef.hpp:180
ROL::MonteCarloGenerator::adaptive_
const bool adaptive_
Definition
ROL_MonteCarloGenerator.hpp:27
ROL::MonteCarloGenerator::numGlobalSamples
int numGlobalSamples(void) const override
Definition
ROL_MonteCarloGeneratorDef.hpp:267
ROL::MonteCarloGenerator::refine
void refine(void) override
Definition
ROL_MonteCarloGeneratorDef.hpp:251
ROL::MonteCarloGenerator::numNewSamps_
const int numNewSamps_
Definition
ROL_MonteCarloGenerator.hpp:28
ROL::MonteCarloGenerator::sum_ng_
Real sum_ng_
Definition
ROL_MonteCarloGenerator.hpp:34
ROL::MonteCarloGenerator::useDist_
const bool useDist_
Definition
ROL_MonteCarloGenerator.hpp:29
ROL::MonteCarloGenerator::nSamp_
int nSamp_
Definition
ROL_MonteCarloGenerator.hpp:24
ROL::MonteCarloGenerator::seed_
const int seed_
Definition
ROL_MonteCarloGenerator.hpp:30
ROL::MonteCarloGenerator::ierf
Real ierf(Real input) const
Definition
ROL_MonteCarloGeneratorDef.hpp:16
ROL::MonteCarloGenerator::sample
std::vector< std::vector< Real > > sample(int nSamp, bool store=true, bool refine=false)
Definition
ROL_MonteCarloGeneratorDef.hpp:43
ROL::SampleGenerator::SampleGenerator
SampleGenerator(const ROL::Ptr< BatchManager< Real > > &bman)
Definition
ROL_SampleGenerator.hpp:39
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL
Definition
ROL_ElementwiseVector.hpp:27
Generated by
1.17.0