pints icon indicating copy to clipboard operation
pints copied to clipboard

Is there a need for SingleOutputProblem and MultiOutputProblem?

Open ben18785 opened this issue 4 years ago • 1 comments

Both methods take the same arguments. Indeed, looking at the two classes, they're both virtually identical.

They both use model.n_parameters() to check that the user has provided an object of which outputs the correct dimensions. By the same token, couldn't we just use model.n_outputs() in a single OutputProblem method to determine whether it's a single or multiple output problem internally (so a user doesn't have to specify this)?

ben18785 avatar Aug 03 '21 06:08 ben18785

From a quick glance it seems the main difference is that single output problems return data of the shape (n_times,), rather than (n_times, n_outputs). For sensitivities it's (n_times, n_parameters) instead of (n_times, n_outputs, n_parameters)

So it's purely for user convenience, I think, so that single-output users don't need to always work in the multi-output space with n_outputs=1.

Open for discussion :D

MichaelClerx avatar Aug 10 '21 13:08 MichaelClerx