Integration test for simple example #76
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.
Resolves #38, though #75 remains something that we need to address.
Implements a barebones integration test for the simple example problem involving two normals.
All the steps to setup the causal estimand and constraints are done manually, IE by manipulating the
Graph.modelrather than attempting to use theCausalProblemclass. Iterative PRs on top of this one will slowly take more of the manual steps out of the new integration test and into the appropriate classes.Also, the integration test currently uses the "minimise" approach described in #75, whereby to find stationary points of the Lagrangian we elect to instead use SGD to minimise$\vert\nabla\mathcal{L}\vert^2$ . This works for this particular example, but we also have the benefit of knowing the exact solution so are able to provide a very good initial value.