I'm trying to use the Mathdotnet LevenbergMarquardtMinimizer to find the roots of a system of equations f1 and f2. For other optimizers it seems like a pretty straightforward process - you call Minmize() with the functions you're using, an initial guess, constraints, etc., and get a result.
Mathdotnet however uses an IobjectiveModel as the first parameter, I assume to pass the functions.
I'm kind of stumped as to what to do here, since there are no examples of the code in the documentation and I can't find any online. My best guess is that I'm supposed to create an implementation of the IObjectiveModel interface for my functions, and then pass that to the minimize() function. However I really hope this is not necessary as it looks like a lot more work for something that isn't really needed in other optimization packages.
Has anyone encountered this before and could offer some clarification? I was really surprised at how many downloads this package has on Nuget, without there being really any example code for it online.
I haven't tried overriding the interface yet because I'm not sure if it's needed. when I implemented this in Python (with scipy) I was allowed to pass the minimized functions as parameters to the method.