Hello Everyone,
I have noted some stranges behaviours of solve for polynomial in my use of 
sympy.

In case of 4th degree polynomial with 2 two conjugates solutions, solve 
return only two of the four solutions.
The problem seems to appear only with real coefficients, integer polynomial 
solutions are fine.
On the other side, sympy roots always gives the good answer.

Example :
>>> import sympy as sy
>>> s = sy.S("s")
>>> expr =  4.0*s**4 + 3.0*s**3 + 3.0*s**2 - 4.0*s + 4.0
>>> rt= sy.roots(expr)
>>> sl= sy.solve(expr)
>>> print sl,"\n",rt
[0.490766420298022 - 0.526081774461482*I, 0.490766420298022 + 
0.526081774461482*I] 
{-0.865766420298022 - 1.08737810369128*I: 1, 0.490766420298022 - 
0.526081774461482*I: 1, -0.865766420298022 + 1.08737810369128*I: 1, 
0.490766420298022 + 0.526081774461482*I: 1}

Similarly, solving for 5th degree polynomial return strange error :

>>> sy.solve(s**5+s**4-1.0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "sympy/sympy/solvers/solvers.py", line 958, in solve
    solution = nfloat(solution, exponent=False)
  File "sympy/sympy/core/function.py", line 2219, in nfloat
    return type(expr)([nfloat(a, n, exponent) for a in expr])
  File "sympy/sympy/core/function.py", line 2235, in nfloat
    rv = rv.xreplace(dict(reps))
  File "sympy/sympy/core/basic.py", line 1106, in xreplace
    return self.func(*args)
  File "sympy/sympy/polys/rootoftools.py", line 62, in __new__
    raise PolynomialError("only univariate polynomials are allowed")
sympy.polys.polyerrors.PolynomialError: only univariate polynomials are 
allowed

Should I had an issue in the tracker or this problems are already known ?

Regards,
Alexandre.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to