StructuredOptimization-related changes + new algorithms #100
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 part of the effort to make StructuredOptimization as general as possible (see the PR on OperatorCore: JuliaFirstOrder/ProximalCore.jl#5).
Changes:
get_assumptionsfunction defined for all algorithms that allows querying the requirements for the algorithm's parameters (e.g.,fmust beis_smooth,gmust beis_proximable). The function returns a dict-like object that has the names of the parameters as keys and a tuple of functions that are expected to returntruefor all allowed inputs as values. The concept is to enable automatic decisions on how to feed functions of the ProximalOperators package and operators of AbstractOperators to the algorithms.default_iteration_summaryfunction fromdefault_displayfunction and allow overriding them separately through the generalIterativeAlgorithminterface.override_parametersfunction that allows overwriting values of fields inIterativeAlgorithmstruct by creating a copy with changed values. I use this in a high-level package to inject defaultmaxitandatolvalues into the user-provided algorithm.This PR contains no breaking changes (as far as I know), only introduces new features.