FindRoot: why must the number of equations match the number of variables?

Posted 19 days ago
264 Views
|
2 Replies
|
1 Total Likes
|
 I am trying to find numerical solutions to a system of nonlinear equations over the reals. The system has 7 polynomials (that should all be equal to zero) with a total of 8 variables. I know that at least two solutions exists: when all variables are set to zero and another solution I found with FindInstance. I was hoping to find more solutions using numerical methods with varying starting points.What surprised me was the error message I got from FindRoot: "The number of equations does not match the number of variables in [...]"I was not aware of this limitation nor was I able to lift it by adding an additional equation that is always true.What am I missing?
2 Replies
Sort By:
Posted 18 days ago
 I guess because it is under-constrained there are infinitely many solutions. You can try NSolve NSolve[And @@ Thread[polys == 0], vars] For real solutions NSolve[And @@ Thread[polys == 0], vars, Reals] This gives the trivial solution FindInstance[And @@ Thread[polys == 0], vars, Reals] I let this run for ~10 min before aborting FindInstance[And @@ Thread[polys == 0], vars, Reals, 2]