ENH: optimize: support undocumented option full_output
for optimize.curve_fit
.
#15330
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.
Reference issue
Fix #6772
What does this implement/fix?
As reported in #6772,
optimize.curve_fit
has an undocumented optionfull_output
here:scipy/scipy/optimize/minpack.py
Lines 787 to 788 in 47bb6fe
I think the reason why the option is undocumented is that this option works only when the method is
lm
, which means usingoptimize.leastsq
.When one of the other methods is used, it returns
OptimizeResult
, this is different from the expected full output:scipy/scipy/optimize/minpack.py
Lines 836 to 837 in 47bb6fe
This PR enables users to use the option
full_output
regardless of the used method by creating the expected full output from theOptimzeResult
.Unfortunately, some kinds of output are not included in the
OptimizeResult
.So these are ignored, but the full output structure is unified for all methods, the
full_output
can be officially supported.