Skip to main content
Updated warning.
Source Link
Hedgehog
  • 624
  • 3
  • 15

@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

Function illustration

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.

@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. Or 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

Function illustration

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.

@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

Function illustration

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.

Source Link
Hedgehog
  • 624
  • 3
  • 15

@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. Or 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

Function illustration

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.