Assume that I for some reason want to solve multidimensional polynomial equations $$p(x_1,x_2,\cdots,x_k) = 0$$ or possibly (if there is no solution) $$\min_{\forall x_{.}} \{p(x_1,x_2,\cdots,x_k)\}$$ along a linear parametrization $$(x_1,x_2,\cdots,x_k) = (s_1+tl_1,s_2+tl_2,\cdots,s_k+tl_k) \hspace{1cm} x_{(.)},t_{(.)},l \in {\mathbb R}$$ For constant $\{s_1,s_2,\cdots,s_k\}$ and a sequence of $\{l_1,l_2,\cdots,l_k\}$. What would be the best way to approach this problem? Would it be worth it computationally to first rewrite it as a one dimensional polynomial in $t$ and then solve that one dimensional polynomial or would we be better off just plugging in without any algebra re-writing?
-
1$\begingroup$ "Would it be worth it computationally" Probably not. I would suggest you should try to implement it as systematically and simply as possible and not try to expand $p$ as a single polynomial. It's still a one-dimensional problem without expanding it explicitly. This will help you avoid bugs in the implementation and make it much simpler to change the $p$-function if you want to. $\endgroup$– WintherMay 4, 2016 at 14:09
-
$\begingroup$ Yes this is what I usually try and it is best to assure oneself one have gotten it to work first before trying to make any improvements or optimizations. $\endgroup$– mathreadlerMay 4, 2016 at 14:52
1 Answer
Yes, computationally, it would definitely be worth it to rewrite it as a one-dimensional problem. Your problem is actually one-dimensional (you only have to study the polynomial along the line described by the linear parametrization).
Good luck for finding its roots. In the general case, the numerical way I suggest is to minimize $P(t)^2$ thanks to a combination of heuristics and local search.