more scalable isotropic sparse grid #364
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Made the isotropic sparse grid much more scalable to higher dimensions by making the
compute_sparse_multi_idx
subroutine in the SC sampler more efficient. This used to crash when applying more than 20 inputs. Now it uses the same subroutines as the anisotropic (dimension-adaptive) SC sampler.The
next_level_sparse_grid
also uses dimension-adaptive subroutines, and it is now basically reduced to one line.EDIT: I also modified the PCE-based stats and Sobol subroutines inside the SC analysis class. Turns out you can write a dimension-adaptive SC expansion in the form of a standard PCE expansion, which simplifies the computation of the mean and Sobol indices.
NOTE: the testing always fails at the same point, when getting to
tests/test_pce_analysis_results.py
. This does not generate an error though when I test locally.