add repeated calculation in main for analysis of accuracy by ns

This commit is contained in:
Jan Bergen 2024-08-03 00:29:55 +02:00
parent bd28b6c3e3
commit 2fbf122dfc
2 changed files with 270 additions and 2 deletions

View File

@ -0,0 +1,255 @@
import matplotlib.pyplot as plt
import numpy as np
data = [
[
0.2459764731981373,
0.3959689257620598,
0.3959732217974079,
0.39584259817898193,
0.39579974532044626,
0.395794076384441,
0.3958077264081723,
0.39579875646712037,
0.3958011556927499,
0.3958033962001042,
],
[
-0.27365268296889433,
-0.00046921958193724134,
2.2715471051926173e-5,
-7.358616407326934e-5,
-8.723023031975696e-5,
-8.153727384807574e-5,
-9.090152038249144e-5,
-8.414070625384351e-5,
-8.612395652507487e-5,
-8.776483357408882e-5,
],
[
-0.2735443105544536,
-0.00028474270293821213,
8.010969853944339e-5,
1.778613185088318e-5,
4.7477053195521535e-5,
6.325645641669375e-5,
3.616223928570861e-5,
5.6782533604415875e-5,
5.090395966433903e-5,
4.564750978897081e-5,
],
[
-0.2735985403453548,
-0.00030936685630689187,
0.0001020650955725344,
7.978835482247426e-5,
-3.943681093321327e-5,
-3.438668332045314e-5,
-2.0189312051055452e-5,
-2.874604966751626e-5,
-2.7004076400216626e-5,
-2.4825341293444048e-5,
],
[
-0.2735978414571252,
-0.0003035764863147383,
0.00010924132501810568,
0.00015586851063420504,
-2.4490574906943507e-5,
-1.7902688270066136e-5,
1.6650197575129866e-5,
-7.59094323854459e-6,
-3.342059771260786e-6,
2.8747982954158147e-6,
],
[
-0.2735903179661431,
-0.00031160663209994777,
9.381673405162161e-5,
5.37083752694123e-5,
-1.5304054572173875e-5,
-9.256441461102938e-7,
-6.723313460188507e-6,
8.254317026779034e-6,
1.4014954192731466e-6,
-2.3551311784109075e-6,
],
[
-0.2735913164499213,
-0.0003096809009284218,
9.614021286852292e-5,
7.174695932898878e-5,
-1.8277500006158576e-5,
-4.939460848452093e-6,
-3.07613414929353e-6,
6.533050137313978e-6,
4.1030853825674285e-8,
-2.2538858418519325e-6,
],
[
-0.2735934576092922,
-0.0003078627597422612,
0.00010028017311203286,
0.000106444698403374,
-2.0882908283836876e-5,
-1.088501621504534e-5,
2.1767025349062052e-5,
-3.2850608882029064e-6,
-2.3900967810464024e-6,
5.198947351736649e-6,
],
[
-0.27359291909954975,
-0.00030836014251955923,
9.919773853384051e-5,
9.61302294200106e-5,
-2.0296397885921635e-5,
-9.659277290574586e-6,
9.207541751266035e-6,
-2.0492995951304493e-6,
-2.5594252984761923e-6,
7.261965937477299e-7,
],
[
-0.2735923872283933,
-0.0003088364016595735,
9.815642481170173e-5,
8.721442142234359e-5,
-1.962601701765987e-5,
-8.169525936518873e-6,
3.1747640369950147e-6,
5.728083307676712e-7,
-1.945445256779088e-6,
-1.066192182985759e-6,
],
]
n = [
[
0.2459764731981373,
0.3959689257620598,
0.3959732217974079,
0.39584259817898193,
0.39579974532044626,
0.395794076384441,
0.3958077264081723,
0.39579875646712037,
0.3958011556927499,
0.3958033962001042,
],
[
-0.27365268296889433,
-0.00046921958193724134,
2.2715471051926173e-5,
-7.358616407326934e-5,
-8.723023031975696e-5,
-8.153727384807574e-5,
-9.090152038249144e-5,
-8.414070625384351e-5,
-8.612395652507487e-5,
-8.776483357408882e-5,
],
[
-0.2735443105544536,
-0.00028474270293821213,
8.010969853944339e-5,
1.778613185088318e-5,
4.7477053195521535e-5,
6.325645641669375e-5,
3.616223928570861e-5,
5.6782533604415875e-5,
5.090395966433903e-5,
4.564750978897081e-5,
],
[
-0.2735985403453548,
-0.00030936685630689187,
0.0001020650955725344,
7.978835482247426e-5,
-3.943681093321327e-5,
-3.438668332045314e-5,
-2.0189312051055452e-5,
-2.874604966751626e-5,
-2.7004076400216626e-5,
-2.4825341293444048e-5,
],
[
-0.2735978414571252,
-0.0003035764863147383,
0.00010924132501810568,
0.00015586851063420504,
-2.4490574906943507e-5,
-1.7902688270066136e-5,
1.6650197575129866e-5,
-7.59094323854459e-6,
-3.342059771260786e-6,
2.8747982954158147e-6,
],
[
-0.2735903179661431,
-0.00031160663209994777,
9.381673405162161e-5,
5.37083752694123e-5,
-1.5304054572173875e-5,
-9.256441461102938e-7,
-6.723313460188507e-6,
8.254317026779034e-6,
1.4014954192731466e-6,
-2.3551311784109075e-6,
],
[
-0.2735913164499213,
-0.0003096809009284218,
9.614021286852292e-5,
7.174695932898878e-5,
-1.8277500006158576e-5,
-4.939460848452093e-6,
-3.07613414929353e-6,
6.533050137313978e-6,
4.1030853825674285e-8,
-2.2538858418519325e-6,
],
[
-0.2735934576092922,
-0.0003078627597422612,
0.00010028017311203286,
0.000106444698403374,
-2.0882908283836876e-5,
-1.088501621504534e-5,
2.1767025349062052e-5,
-3.2850608882029064e-6,
-2.3900967810464024e-6,
5.198947351736649e-6,
],
[
-0.27359291909954975,
-0.00030836014251955923,
9.919773853384051e-5,
9.61302294200106e-5,
-2.0296397885921635e-5,
-9.659277290574586e-6,
9.207541751266035e-6,
-2.0492995951304493e-6,
-2.5594252984761923e-6,
7.261965937477299e-7,
],
[
-0.2735923872283933,
-0.0003088364016595735,
9.815642481170173e-5,
8.721442142234359e-5,
-1.962601701765987e-5,
-8.169525936518873e-6,
3.1747640369950147e-6,
5.728083307676712e-7,
-1.945445256779088e-6,
-1.066192182985759e-6,
],
]
n = [10,100,200, 500,1000,2000,5000,7500,10000,15000];
for n_o in range(len(data)):
# plt.scatter([n_o] * len(data[n_o]), data[n_o])
plt.plot(n, data[n_o])
plt.show()

View File

@ -597,9 +597,22 @@ fn main() {
// })
// .collect();
let accuracies = [100,500,1000,2000,5000,7500,10000,15000,25000,50000];
let mut results = [[0.0;10];10];
for (o,n_o) in accuracies.iter().enumerate() {
println!("{:?}", n_o);
for (p,n_p) in accuracies.iter().enumerate() {
let phi0 = calc::phi0(&mut app.calc_cache, 10000.0, *n_o, *n_p , true, true, true, true, true, false, 0.0, 0.0);
results[o][p] = phi0 / calc::delta(10000.0) - 1.0;
}
}
println!("{:#?}", results);
// let phi0 = calc::phi0(&mut app.calc_cache, 10000.0, 10000, 10000, true, true, true, true, true, false, 0.0, 0.0);
let phi0 = calc::phi0(&mut app.calc_cache, 10000.0, 100000, 100000, true, true, true, true, true, false, 0.0, 0.0);
println!("relative difference: {:e}", phi0 / calc::delta(10000.0) - 1.0);
// let phi0 = calc::phi0(&mut app.calc_cache, 10000.0, 100000, 100000, true, true, true, true, true, false, 0.0, 0.0);
// println!("relative difference: {:e}", phi0 / calc::delta(10000.0) - 1.0);
// eframe::run_native(
// "Omnes Calculator",