I'm finding it hard to find the solutions to this cubic equation: 1/2 x^3 - 2.025647693*10^14 x^2 + 8.102590772*10^11 x - 8.102590772*10^8 = 0 I'm looking for the smallest real positive solution but no matter what solver I use I keep getting only one root (the one of order of magnitude 10^14). There should be a root of the order of 10^{-3} but I don't know how to find it, nor why my usually trusty solvers are giving only 1 root.
You are probably using the Newton-Rhapson algorithm. This algorithm is used to solve ##f(x)=0## for various functions. It works by taking an initial guess and then recursively refine the guess. Not all guesses work however. So the question is to find out what the best guess is and whether there are good guesses at all! We have the following: http://en.wikipedia.org/wiki/Newton-Rhapson#Analysis So if ##\alpha## is your root and if ##f^\prime(\alpha)## is nonzero, then there are good initial guesses. However, this is exactly what goes wrong here! The root ##\alpha## that you seek does have ##f^\prime(\alpha)=0##. This is why no initial guess will work and why you didn't find the solution. There are other ways to find the solution though. It is hardly practical in many cases, but the rational root theorem works here. Either way, wolfram alpha could find the root: http://www.wolframalpha.com/input/?...x^2+++8.102590772*10^11+x+-+8.102590772*10^8+ and it's a very pretty root too!
^Yes one thing you can do without changing to a different method is to solve f'(x)=0 3/2 x^2 - 2*2.025647693*10^14 x + 8.102590772*10^11 = 0 if f'(x)=0 and f(x)=0 then x is a double root of f
If you substitute x = 10^{-3}y into the equation, you get: y^{2}-4y+4 = 0. This neglects the cubic term, which is going to be minute compared to the other terms. So there is a double root at y = 2, or, equivalently, at x = 2 x 10^{-3}. Chet