Subject | Hash | Author | Date (UTC) |
---|---|---|---|
convex_hull.QHull: add proof-of-concept get_inside() method | 6013fbac742d6070771d7798c928538ebc54495e | I am | 2023-01-19 10:19:32 |
whitebox: add r exact for common nD boxes | 7c4ab62f069f0efeb48a403dac5d27033003ded2 | I am | 2023-01-17 15:09:08 |
qt_gui: improve GRaph to show r-R bounds | 59fa5bde7be2197b1f739bd1f829f927cef62603 | I am | 2023-01-17 14:26:16 |
dicebox.circumtri: calculate event's radia | c6868cfbde7c8a86b73217da544f60e94a117bd8 | I am | 2023-01-16 06:12:34 |
simplex.Triangulation.get_averaged_mixed_normals: implement deep averaging | 6dfb056e477479331c7a903ea52a98301fca4e71 | I am | 2023-01-15 23:26:43 |
replace flatten() by reshape(-1) everywhere. The former always allocates new array | 97b35c989a5ad8e459bb60133222d50c7f78e1f0 | I am | 2023-01-15 12:04:30 |
qt_gui.qt_gui: explicitly export sample_box to console's namespace | dd2e50245157082ddb645b693a8a8c573215d50c | I am | 2023-01-15 11:42:01 |
replace everywhere np.bool by just bool (it looks like newer numpy dropped it) | ac208f89bbf0ad76d38790686041ea778a9b6376 | I am | 2023-01-15 11:31:56 |
simplex._Triangulation: implement averaged gradients() | f6608597cf490dd6cf1a6af3b7d8e6d0a72732d9 | I am | 2023-01-15 09:37:14 |
add line and two lines problems for sensitivity analysis | 0c620f7960399ed8b34e02d663772d0eb34e66f1 | I am | 2023-01-14 08:30:56 |
simplex.FullCubatureIntegration.get_sensitivities: do not normalize global gradient | c648c484a5599a00236ab70c36cdf407c24f5306 | I am | 2023-01-14 04:51:16 |
simplex: implement sensitivities | 65056319c51fd93deb76ce14e52c08869dfc04a2 | I am | 2023-01-13 11:27:46 |
mplot.maxes: prepare GRaph plot | 68774535915af3deaf6104a0bbe9b3c4d24c0cec | I am | 2023-01-12 02:43:20 |
mplot.mgraph.tri_estimation_plot: use planar vertex estimator | 1d300fa56248be9cdab5a4e5b0d4372f68fd5255 | I am | 2023-01-11 15:48:28 |
mplot.mart: implement lsf_boundary() contouring | 8642d2f0c043f4e71af1cc45b9e25da326afd3ca | I am | 2023-01-11 05:20:00 |
mplot.mart.setup_labels: make labels more adaptive | 60cd0b34a67b38df1c730dddc9e0771139818f33 | I am | 2023-01-11 04:35:47 |
simplex._SamplingTriangulation: self reference fix | 79204ff15cba7c5ca24bb5b48e2073058acf00ae | I am | 2023-01-11 03:21:34 |
testcases.testcases_2D: add pf for rastrigin | 4f3b35fe18496fcb9f59860174c876cb7a82749a | I am | 2023-01-10 23:39:45 |
dicebox.circumtri: fix initialization on ED loading. Use simple potential for space filling | c02656e588a164685c4a750ce865c4b50f716563 | I am | 2023-01-10 23:37:30 |
simplex.FullCubatureIntegration.get_failure_moments: negative probabilities fix | 27dd6bb1e5bb0eb1e28eef88e28913d1eca461da | I am | 2023-01-10 20:16:09 |
File | Lines added | Lines deleted |
---|---|---|
wellmet/convex_hull.py | 35 | 1 |
File wellmet/convex_hull.py changed (mode: 100644) (index 4fd7d7e..340a019) | |||
... | ... | class QHull: | |
994 | 994 | #č odvažně vratíme jedničku | #č odvažně vratíme jedničku |
995 | 995 | #č neřikejte mi, že musím pěčlivějc zpracovavat chyby! | #č neřikejte mi, že musím pěčlivějc zpracovavat chyby! |
996 | 996 | return 1 | return 1 |
997 | |||
997 | |||
998 | def get_inside(hull): | ||
999 | if hull.space != 'G': | ||
1000 | raise | ||
1001 | scheme = quadpy.tn.grundmann_moeller(hull.sample.nvar - 1, 5) | ||
1002 | |||
1003 | #np.sum(quadpy.tn.get_vol(box.G[box.convex_hull.simplices].transpose((1,0,2)))*np.sum(PQR * box.convex_hull.A, axis=1)) / 3 | ||
1004 | |||
1005 | |||
1006 | #np.sum(sheme.integrate(lambda x: np.full((26,1), 1), box.G[box.convex_hull.simplices].transpose((1, 0, 2)))) | ||
1007 | #np.sum(sheme.integrate(hull._quadpy_callback, box.G[box.convex_hull.simplices].transpose((1, 0, 2))),axis=1) | ||
1008 | |||
1009 | |||
1010 | vertices_model = hull.points[hull.simplices].transpose((1, 0, 2)) | ||
1011 | |||
1012 | return np.sum(scheme.integrate(hull._quadpy_callback, vertices_model), axis=1) | ||
1013 | |||
1014 | # quadpy | ||
1015 | def _quadpy_callback(hull, x): | ||
1016 | # x.shape == (simplex_dim + 1, nsimplex, scheme_npoints) #(3, 26, 56) | ||
1017 | |||
1018 | cdfs = stats.norm.cdf(x) | ||
1019 | pdfs = stats.norm.pdf(x) | ||
1020 | |||
1021 | for i in range(hull.sample.nvar): | ||
1022 | cdfs[i] *= np.prod(pdfs[:i], axis=0) | ||
1023 | cdfs[i] *= np.prod(pdfs[i+1:], axis=0) | ||
1024 | cdfs[i] *= np.atleast_2d(hull.A[:, i]).T | ||
1025 | |||
1026 | |||
1027 | # n_values x nsimplex x scheme_points | ||
1028 | return cdfs | ||
1029 | |||
1030 | |||
1031 | |||
998 | 1032 | ||
999 | 1033 | # Gaussian brick | # Gaussian brick |
1000 | 1034 | #č Gaussovská cihla | #č Gaussovská cihla |