@michael-e2, yes it is difficult.
Warning:
If you play with this function you'll likely be bitten by one or more of the issues described here - one of which (FindInstance
) required a forced restart. Or you might encounter something new...?
So far this is the most general work around - general in the sense it works when the function returns a value. Outline:
- Take a 'slice'/snapshot of the function near the origin.
- Solve for a.
A picture is worth a thousand words:
ll=0
ul=25000
fa[a_] = f[a, b] /. {b -> 0.00001};
dataa = {#, fa[#]} & /@ Range[ll, ul, IntegerPart[(ul - ll)/100]];
imagea = Plot[fa[a], {a, 0, ul}, Epilog -> {Red, PointSize[0.001], Point[dataa]}];
imagea
FindRoot
is then able to find a root - when searching from above. As warned above FindInstance
required a restart for me.`
This is a workaround, so I'm happy to change the answer to something more rigorous.