'Solve' 10th order polynomial symbolically; answer comes in the form of 'z' although defining MaxDegree!
3 views (last 30 days)
Show older comments
Anika Tabassum Sarkar
on 10 Mar 2020
Commented: Walter Roberson
on 10 Mar 2020
Hello,
I am trying to solve a 10th order polynomial symbolically using 'solve' command. I am using Matlab R2019a academic version. I am using the following the code:
syms zita lamda omega r Fe positive
DT=((2*zita*omega).^2)*r^2+((1-(1+lamda*r^2/2+lamda*r^4/4).*omega.^2).^2)*r^2-(Fe^2)==0;
E=expand(DT);
R=solve(E,r,'MaxDegree',10)
What I'm getting for answer is root (..) in terms of 'z'. Previously I've ran into such problem but when I provided the MaxDegree, Matlab was able to provide the solution. In those cases, maximum degree was 6. I was hoping if anyone could suggest a different approach to solving this problem. I'd really appreciate it.
Anika
0 Comments
Accepted Answer
Walter Roberson
on 10 Mar 2020
You have a quintic (degree 5). There are no general closed form solutions for degree 5 or higher.
The 'MaxDegree' option is only useful if the polynomial can be factored into expressions that are degree 4 or less. MaxDegree is not magic: it just tells MATLAB how aggressive to be in substituting in long closed form formulas when they are available . And degree 4 is the highest degree that you can be sure that the long formulas are available.
2 Comments
Walter Roberson
on 10 Mar 2020
It has been proven theoretically that there are quintics (degree 5) that have no "algebraic root" . So for degree 5 or higher, finding a symbolic root is a matter of managing to factor the expression through various techniques such as "completing the square" in order to reduce it to the product of terms that are of lower degree. The standard symbolic packages are typically not bad at that -- though not fool-proof.
As best I can tell, the equation you show us does not have closed form roots in r.
More Answers (0)
See Also
Categories
Find more on Assumptions 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!