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 makes it possible to customize the linear solver via solver parameters, instead of having to manually change the source code.
To make this possible, I introduced some trait-like options for linear solvers.
These options are exposed as solver parameters, which can be set by the user. The exact linear solver type if then dispatched on automatically.
Current options are
Tv
, determined by theModel
objectAugmentedSystem
orNormalEquations
Lapack
(for dense systems),Cholmod
andLDLFact
.These options are now displayed at the beginning of the optimization, e.g.:
See the documentation for more details and default options.
Finally, I added generic tests to simplify the testing of various linear solvers (customized ones in particular).