New TMC modes: sequential, matrix and diagonal - #80
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR is a follow up of #79, Introducing different modes for running the TMC uncertainty quantification.
TMC Modes
Modes available are sequential, matrix and diagonal.
sequential is the one already available implemented with #79. namely, performs one perturbation at a time (with all its realizations), for a total of perturbations-times-realizations (r*p) models/simulations/tmc-iterations. Useful for identifying the effect of every single perturbation type to the total uncertainty.
matrix mode builds a matrix of perturbations and realizations. So, for every new realization of a single perturbation, the
TMCManagerruns all the realizations of all the other perturbations. Such matrix of perturbations-realizations would hence have as many dimensions as the number of perturbations (p) and every dimension is as long as the number of realizations (r), ending up with a total number of models/simulations/tmc-iterations as r^p. Useful to cover the whole perturbation-realization "phase-space", but often computationally and memory prohibitive.diagonal mode takes the matrix of the matrix mode and runs only the models on the diagonal. On the diagonal all the perturbations get a new realization (hence a new value of the perturbed parameter) simultaneously achieving, arguably, a faster convergence to the total uncertainty. Useful to get faster to total uncertainty with a TMC method.
Usage
The usage is similar, the user just needs to specify the mode to run with the
TMCManager.runmethod: