Introduction
Introduction Statistics Contact Development Disclaimer Help
tmontecarlo.h - numeric - C++ library with numerical algorithms
git clone git://src.adamsgaard.dk/numeric
Log
Files
Refs
LICENSE
---
tmontecarlo.h (1065B)
---
1 #ifndef MONTECARLO_H_
2 #define MONTECARLO_H_
3
4 #include <vector>
5 #include "header.h"
6
7 class MC {
8
9 private:
10
11 // Length of vectors
12 const Lengthtype d;
13
14 // Function to be evaluated (pointer to function)
15 Floattype (*f)(const std::vector<Floattype>);
16
17 // Integral limits in dimension d
18 const std::vector<Floattype> a;
19 const std::vector<Floattype> b;
20
21 // n-dimensional point
22 std::vector<Floattype> x;
23
24 // Number of samples
25 const Lengthtype N;
26
27 // Integration result
28 Floattype Q;
29
30 // Error
31 Floattype err;
32
33 // Volume
34 Floattype V;
35 void set_volume();
36
37 // Draw random position in sample space
38 std::vector<Floattype> random_x();
39
40 public:
41
42 // Constructor
43 MC(Floattype (*function)(const std::vector<Floattype>),
44 const std::vector<Floattype> a_in,
45 const std::vector<Floattype> b_in,
46 const Lengthtype N_in);
47
48 // Plain Monte Carlo integrator
49 void plain();
50
51 // Print result and error
52 void show();
53
54 // Return the error
55 Floattype error();
56 };
57
58 #endif
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.