https://mooseframework.inl.gov
Loading...
Searching...
No Matches
AffineInvariantStretchSampler.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
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 "PMCMCBase.h"
13
18{
19public:
21
23
24 virtual int decisionStep() const override { return 2; }
25
29 const std::vector<Real> & getAffineStepSize() const;
30
31protected:
32 virtual void proposeSamples() override;
33
35 const Real _step_size;
36
38 const std::vector<std::vector<Real>> & _previous_state;
39
41 const std::vector<Real> & _previous_state_var;
42
44 std::vector<Real> _affine_step;
45};
A class for performing Affine Invariant Ensemble MCMC with stretch sampler.
const std::vector< std::vector< Real > > & _previous_state
Reporter value with the previous state of all the walkers.
const Real _step_size
The step size for the stretch sampler.
virtual int decisionStep() const override
Return the step after which decision making can begin.
const std::vector< Real > & _previous_state_var
Reporter value with the previous state of all the walkers for variance.
virtual void proposeSamples() override
Fill in the _new_samples vector of vectors (happens within sampleSetUp)
const std::vector< Real > & getAffineStepSize() const
Return the vector of step size for decision making.
std::vector< Real > _affine_step
Vector of affine step sizes.
const InputParameters & parameters() const
A base class used to perform Parallel Markov Chain Monte Carlo (MCMC) sampling.
Definition PMCMCBase.h:20