[Date Index] [Thread Index] [Author Index]
Re: How accurate is the solution for high degree algebraic equation?
For a polynomial of such large degree it's unlikely to can use machine precision. Mathematica can solve this in infinite precision quickly: (Debug) In:= d = 54; f = (-z - 1)^d - (-z^d - 1); sol = Solve[f == 0, z]; a = z /. sol; (Debug) In:= FullSimplify[f /. z -> a[]] (Debug) Out= 0 You can see numerical approximations of the solutions using N: (Debug) In:= N[a[]] N[a[], 30] (Debug) Out= -0.5 - 17.1839 I (Debug) Out= -0.5000000000000000000000000000 - 17.1838854436050918792404513804 I On Oct 24, 2012, at 3:32 AM, Alexandra wrote: > 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[] // N > It returns a number very close to zero. This is natural. > > But if I compute > f /. (z -> a[]) // N > > Then > Mathematica returns > 12.0047 + 14.7528 I > > I cannot say a[] 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? > > > > > > >