Add name argument to all cost functions #1017
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.
Closes #941
So far the iminuit.cost functions only support models that pass each parameter as a positional argument. This makes it difficult to use models whose number of arguments should be easy to vary.
To make working with the latter easier, the cost functions now support models with a variable number of arguments in the form
def model(x, *par)
. The actual number of arguments and their names are then passed with the new keywordname
, which can also be used to override the model parameter names found by inspecting the model signature.