Reputation: 10781
This answer to this question works only for situations in which the desired solution to the coupled functions is not restricted to a certain range.
But what if, for example, we wanted a solution such that 0 < x < 10
and 0 < y < 10
? Another way of thinking about this is, what if the coupled functions are undefined when x
or y
is, e.g., less than zero?
There are functions within scipy.optimize
that find roots to a function within a given interval (e.g., brentq
), but these work only for functions of one variable.
Why does scipy
fall short of providing a root solver that works for multi-variable functions within specific ranges? How might such a solver be implemented?
Upvotes: 0
Views: 2538
Reputation: 26090
This is algorithmically nontrivial. A future scipy version is likely to have this sort of routine.
Today, you can cast your root finding problem into a least-square problem (minimize the sum of squares of lhs), and use the master branch of the scipy Git repo.
EDIT : scipy.optimize.least_squares
is available in released scipy for a long long time now (was not so in 2015 when this question was asked).
Upvotes: 0