Subject | Hash | Author | Date (UTC) |
---|---|---|---|
simplex._Sense: implement piece of postprocessing to get unique vectors | 4088852e703947643a8388b2ba8839a694211566 | I am | 2023-03-10 17:22:29 |
simplex.SeparationAxis: in case of an unexpected linprog status print result message too | 1c9346233693533afb07022c78308b3be6ea9ec7 | I am | 2023-03-10 15:40:06 |
whitebox: implement method to .get_sensitivities() from 2D boundary | 5729723cfe5c93658c3739fbfec384e135b44073 | I am | 2023-03-09 22:14:27 |
simplex.SeparationAxis: make an perfectionism-driven change | 8278c48915c326e7731f1934732550c5b9c18e64 | I am | 2023-03-09 21:51:18 |
simplex.SeparationAxis: little fix for an hypotetical issue | 838e476387c31f9c6847cf7ae8a2a01514038a03 | I am | 2023-03-09 15:19:48 |
simplex._Sense: bugfix | 3ae53e8b178107b8beb6ad960ec683c8d38a3b3c | I am | 2023-03-07 23:23:36 |
simplex._Sense: totally rework, finalized vectors are introduced | 829ba58a93481541a58cd4a9f6dae0ba9fb611c6 | I am | 2023-03-07 13:33:38 |
simplex: preliminary commit of an _Sense's auxiliary class - brand new SeparationAxis | c0bbb714400df48abf7a398e018c5626803bf024 | I am | 2023-03-04 10:17:12 |
simplex._Sense: one more optimization | a51f4ba65ad4a55ecc74fd82a6e011a4eeed8a5d | I am | 2023-02-26 15:21:23 |
qt_gui.qt_plot: implement sensitivity-related Arrows class | b5365ae3ca3ab0ed8018e60d4e8711c5c30e4d96 | I am | 2023-02-26 14:31:10 |
simplex._Sense: rename "sensibility" to sensitivity | a9d56d5386730263eb27e6e31f07b99bab0620fb | I am | 2023-02-26 14:29:54 |
g_models: add quadratic | 013b4ddc108b94061eaebc1a10d18427f10a34d4 | I am | 2023-02-24 08:04:12 |
simplex._Sense: one more performance trick | 59b423cca53b9975da67d876110927f233506de8 | I am | 2023-02-24 08:03:23 |
simplex: implement separability-based sensibility analysis (new brand _Sense class) | 9c5d58f2301893ceaec1b0e90bff76035cfa15b2 | I am | 2023-02-23 18:49:11 |
dicebox.circumtri.CirQTri: switch to GaussCubatureIntegration | 5b52dd25cb7a997af4953230116deb9efc577d56 | I am | 2023-02-11 04:32:48 |
simplex: implement GaussCubatureIntegration in the most memory-friendly way | 689d253ae7e2a22242258fd5bef0a069caf7cf75 | I am | 2023-02-11 04:31:11 |
convex_hull.QHullCubature: implement memory-friendly outside (chi) integration | ad8210a04b1e0903de7435cad16b1304707d0e6e | I am | 2023-02-09 22:22:05 |
qt_gui.qt_plot: require box recommendation to show next point | 6f726047f7f08e884359020eaa1eac6f6cc125d2 | I am | 2023-02-09 11:51:44 |
dicebox.circumtri.CirQTri.get_circum_node: limit circumcenter by explore radius, not by just R | 136ec73bb06da16c1f2bce64b3c349be4c8ba975 | I am | 2023-02-09 03:09:51 |
dicebox.circumtri: implement new brand CirQTri box | 5879b8ad6317c65aa9481b59f76b6159f19e247a | I am | 2023-02-09 01:29:10 |
File | Lines added | Lines deleted |
---|---|---|
wellmet/qt_gui/qt_plot.py | 1 | 1 |
wellmet/simplex.py | 30 | 11 |
File wellmet/qt_gui/qt_plot.py changed (mode: 100644) (index 58eceea..84482d8) | |||
... | ... | class Arrows: | |
446 | 446 | return | return |
447 | 447 | ||
448 | 448 | result = self.w.sample_box.Tri.perform_sensitivity_analysis() | result = self.w.sample_box.Tri.perform_sensitivity_analysis() |
449 | _gradient, sensitivity, probabilities, depths, vectors, coverings = result | ||
450 | 449 | ||
450 | vectors = result.vectors | ||
451 | 451 | ||
452 | 452 | nmixed = len(vectors) | nmixed = len(vectors) |
453 | 453 | points = self.w.sample_box.Tri.tri.points | points = self.w.sample_box.Tri.tri.points |
File wellmet/simplex.py changed (mode: 100644) (index 98c4403..3cb6cd0) | |||
... | ... | from scipy import optimize | |
13 | 13 | ||
14 | 14 | import quadpy | import quadpy |
15 | 15 | ||
16 | from typing import NamedTuple | ||
16 | 17 | from collections import namedtuple, defaultdict | from collections import namedtuple, defaultdict |
17 | 18 | from sortedcollections import ValueSortedDict | from sortedcollections import ValueSortedDict |
18 | 19 | ||
19 | 20 | ||
20 | 21 | ||
22 | |||
21 | 23 | #č napadlo mě zababáchnuť třidu, která by se sama starala o všem co se tyče | #č napadlo mě zababáchnuť třidu, která by se sama starala o všem co se tyče |
22 | 24 | #č vnější domény. Nešlo mě totíž to udělat jednou funkcí, bylo by velmi | #č vnější domény. Nešlo mě totíž to udělat jednou funkcí, bylo by velmi |
23 | 25 | #č špatné z hlediska zodpovednosti kódu. Tak to všecko zabalíme to třidy | #č špatné z hlediska zodpovednosti kódu. Tak to všecko zabalíme to třidy |
... | ... | class _NaiveSense: | |
538 | 540 | ||
539 | 541 | ||
540 | 542 | ||
541 | |||
542 | |||
543 | |||
544 | FinalizedAxis = namedtuple('FinalizedAxis', ( | ||
545 | 'normal', | ||
546 | #'sensitivities', | ||
547 | 'separated_simplices' | ||
548 | )) | ||
549 | |||
543 | class FinalizedAxis(NamedTuple): | ||
544 | normal: np.ndarray | ||
545 | separated_simplices: set | ||
546 | |||
547 | class SensitivityResult(NamedTuple): | ||
548 | global_gradient: np.ndarray | ||
549 | sensitivities: np.ndarray | ||
550 | probabilities: dict | ||
551 | depths: dict | ||
552 | vectors:dict | ||
553 | coverings:dict | ||
554 | unique_id_vectors: dict | ||
555 | unique_set_vectors: dict | ||
550 | 556 | ||
551 | 557 | ||
552 | 558 | class _Sense: | class _Sense: |
... | ... | class _Sense: | |
686 | 692 | ||
687 | 693 | sensitivities /= mixed_probability | sensitivities /= mixed_probability |
688 | 694 | ||
689 | return global_gradient, sensitivities, \ | ||
690 | probabilities, depths, vectors , coverings | ||
695 | # piece of postprocesing | ||
696 | |||
697 | unique_id_vectors = {} | ||
698 | for normal in vectors.values(): | ||
699 | unique_id_vectors[id(normal)] = normal | ||
700 | |||
701 | unique_set_vectors = {} | ||
702 | #č id neposkytují záruku unikatnosti | ||
703 | #č ještě musíme přímo kontrolovat množiny separovaných simplexů | ||
704 | for normal in unique_id_vectors.values(): | ||
705 | unique_set_vectors[normal.separated_simplices] = normal.normal | ||
706 | |||
707 | return SensitivityResult(global_gradient, sensitivities, | ||
708 | probabilities, depths, vectors , coverings, | ||
709 | unique_id_vectors, unique_set_vectors) | ||
691 | 710 | ||
692 | 711 | ||
693 | 712 |