0

Given a continuous two-dimensional function over the reals, f(x, y), I want to find the "line of roots", i.e. the path(s) along which f(x, y) = 0.

The function does not have a closed form. Therefore, this is a numerical problem and I cannot hope to determine that line exactly but only approximate it.

The function is also expensive to evaluate and should be used as few times as possible.

A possible solution would of course be to just sample points, be it random, uniform, or however, and check all of them to the desired precision. But I was wondering if there is a smarter method, using e.g. numerical derivatives or something else.

Andreas T
  • 733
  • 7
  • 22
  • Interesting question; this is the problem that has to be solved by any contour plotting function, so one way to search for a solution is to see how popular plotting package (e.g. Gnuplot) solve it. You could find the developers mailing list and ask for pointers. I'm not sure, but I think basically you look for one point on the contour, and then follow the contour (perhaps by taking steps which are perpendicular to the gradient). – Robert Dodier Mar 07 '20 at 18:47
  • If you have automatic differentiation, or some other way to differentiate, then you have Newton's method. You can then create an approximate path with an interpolator for the roots, say; Catmull-Rom. – user14717 Mar 07 '20 at 23:31

0 Answers0