What is the best way to numerically solve a system of polynomial multivariate equations?
18 views (last 30 days)
Show older comments
Chris
on 28 Jun 2011
Answered: Hugo Tadashi Kussaba
on 10 Aug 2023
I have a system of polynomial equations that I need to solve a whole bunch of times. What do you think is the most efficient way to solve them using some numerical solver in matlab? I have the optimization toolbox, etc.
Thanks,
Chris
0 Comments
Accepted Answer
Walter Roberson
on 28 Jun 2011
If they really are multivariate polynomials (e.g., no sin() or gamma() or integrals, no sqrt() or x^n when n is not 0 or a positive integer), then the \ operator might be appropriate, especially if it is only the right-hand sides that are varying (in which case they can all be done at the same time.)
If the coefficients are changing each time, I would consider using symbolic algebra to solve() for the variables, and then turn the resulting formula into MATLAB code (matlabFunction() might help.) Any RootOf() symbolic polynomials can be converted in to roots() calls.
0 Comments
More Answers (2)
Hugo Tadashi Kussaba
on 10 Aug 2023
State-of-art homotopy continuation methods can be used to compute (almost) all solutions of system of polynomial equations.¹ A MATLAB package for computing real verified solutions of polynomial systems of equations and inequalities is available at: http://159.226.47.210:8080/verifyrealroots/index.html
[1] Yang, Zhengfeng, Hanrui Zhao, and Lihong Zhi. "VerifyRealRoots: A Matlab Package for Computing Verified Real Solutions of Polynomials Systems of Equations and Inequalities." Journal of Systems Science and Complexity 36.2 (2023): 866-883.
0 Comments
See Also
Categories
Find more on Polynomials in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!