Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
Drexel University or The Math Forum.



Re: How accurate is the solution for high degree algebraic
Posted:
Oct 25, 2012 1:44 AM


Alexandra,
To answer your question: no, the degree is not too high, but you are using the wrong number system, machine numbers. The polynomial has a high degree, so the derivative has a high degree as well, which means that a small change in an argument will give a tremendous change in the function value. Machine numbers are poorly suited to deal with this behaviour.
Mathematica can solve your equation exact, using root expressions:
d=54;f=(z1)^d(z^d1); sol=Solve[f==0,z];
Let us look at the first solution:
In[4]:= f /. sol[[1]] // RootReduce Out[4]= 0
So it IS a solution. Let us see what happens if we use machine numbers:
In[5]:= f /. N[sol[[1]]]
Out[5]= 3.82475*10^50 + 0. I
When we use arbitrary precision numbers, you get a more reliable result:
In[6]:= f /. N[sol[[1]], 100]
Out[6]= 0.*10^31 + 0.*10^31 I
Indeed this is close to zero. Observe that the precision went down almost 70 digits!
Regards,
Fred Simons Eindhoven University of Technology
Op 24102012 9:32, Alexandra schreef: > I wanted to know all the solutions of f = (z  1)^d  (z^d  1)==0, where d=54. > I did the following: > > d = 54; f = (z  1)^d  (z^d  1); > sol = NSolve[f == 0,z]; > a = z /. sol; > > So a is a set of solutions. > > If I compute > f /. z > a[[50]] // N > It returns a number very close to zero. This is natural. > > But if I compute > f /. (z > a[[1]]) // N > > Then > Mathematica returns > 12.0047 + 14.7528 I > > I cannot say a[[1]] is a solution of f=0. > > Many other elements in the solution set a does not seem to satisfy the equation. > Only the last few terms in a are satisfactory enough as solutions. > > Is the degree too high? > >



