Tomographer  v5.4
Tomographer C++ Framework Documentation
pymhrwtasks.h
1 /* This file is part of the Tomographer project, which is distributed under the
2  * terms of the MIT license.
3  *
4  * The MIT License (MIT)
5  *
6  * Copyright (c) 2016 ETH Zurich, Institute for Theoretical Physics, Philippe Faist
7  * Copyright (c) 2017 Caltech, Institute for Quantum Information and Matter, Philippe Faist
8  *
9  * Permission is hereby granted, free of charge, to any person obtaining a copy
10  * of this software and associated documentation files (the "Software"), to deal
11  * in the Software without restriction, including without limitation the rights
12  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13  * copies of the Software, and to permit persons to whom the Software is
14  * furnished to do so, subject to the following conditions:
15  *
16  * The above copyright notice and this permission notice shall be included in
17  * all copies or substantial portions of the Software.
18  *
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25  * SOFTWARE.
26  */
27 
28 #ifndef PYMHRWTASKS_H
29 #define PYMHRWTASKS_H
30 
31 #include <string>
32 
33 #include <tomographerpy/common.h>
34 
35 #include <tomographer/mhrw.h>
37 #include <tomographer/mhrwtasks.h>
38 
39 #include <tomographerpy/pyhistogram.h>
40 #include <tomographerpy/pymhrw.h>
41 
42 
43 namespace tpy {
44 
45 namespace tomo_internal {
46 struct TOMOGRAPHER_EXPORT DummyValueCalculator {
47  typedef RealScalar ValueType;
48  template<typename PointType>
49  inline ValueType getValue(const PointType & ) const { return 0; }
50 };
51 } // tomo_internal
52 
53 
59  >::Result
61 
62 
73  py::object, IterCountIntType, py::object
74  >
76 
77 
78 } // namespace tpy
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 #endif
Tomographer::MHRWTasks::MHRandomWalkTaskResult< py::object, IterCountIntType, py::object > MHRandomWalkTaskResult
Result type of a Tomographer::MHRWTasks::MHRandomWalkTask with an abstract stats results type...
Definition: pymhrwtasks.h:75
Multiprocessing tasks interface (see Multiprocessing Task Interfaces) for parallel Metropolis-Hasting...
Traits-like class for ValueHistogramWithBinningMHRWStatsCollector.
double RealScalar
Real type for general calculation precisions (density matrix elements, log-likelihood value calculati...
Definition: common.h:92
Tomographer::ValueHistogramWithBinningMHRWStatsCollectorParams< tomo_internal::DummyValueCalculator, HistCountIntType, CountRealType, Eigen::Dynamic, Eigen::Dynamic >::Result ValueHistogramWithBinningMHRWStatsCollectorResult
Result type of a Tomographer::ValueHistogramWithBinningMHRWStatsCollector, this is basically a combin...
Definition: pymhrwtasks.h:60
Routines for performing a Metropolis-Hastings random walk.
C++ Classes and Utilities for Python Modules.
Definition: common.h:89
int IterCountIntType
Integer type used for iteration counts in the random walk.
Definition: common.h:102
Binning Analysis in a Metropolis-Hastings random walk.
double CountRealType
Real type for averaged and/or normalized histograms.
Definition: common.h:94
int HistCountIntType
Integer type used for histogram counts.
Definition: common.h:100