Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeError: can't convert expression to float #8155

Closed
dariober opened this issue Oct 1, 2014 · 2 comments
Closed

TypeError: can't convert expression to float #8155

dariober opened this issue Oct 1, 2014 · 2 comments

Comments

@dariober
Copy link

dariober commented Oct 1, 2014

I'm reporting the issue I mentioned on the sympy discussion group (https://groups.google.com/forum/#!topic/sympy/gCaEQp0Uqu8)

I'm getting the error below, using sympy 0.7.5 on python 2.7.8, MacOS 10.6.

import sympy as s

x= s.Symbol('x')
y= 2*s.sin(x) - 2*s.sin(2*x)
s.solve(y)

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 901, in solve
    solution = _solve(f[0], *symbols, **flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 1289, in _solve
    return _solve(newf, symbol, **flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 1289, in _solve
    return _solve(newf, symbol, **flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 1397, in _solve
    result = _tsolve(f_num, symbol, **flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 2279, in _tsolve
    return _solve(f, sym, **flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 1147, in _solve
    soln = _solve(m, symbol, **flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 1397, in _solve
    result = _tsolve(f_num, symbol, **flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 2320, in _tsolve
    return _solve(rewrite - rhs, sym, **flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 1418, in _solve
    for den in dens)]
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 1418, in <genexpr>
    for den in dens)]
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/solvers/solvers.py", line 285, in checksol
    return abs(val.n(18).n(12, chop=True)) < 1e-9
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/core/evalf.py", line 1284, in evalf
    result = evalf(self, prec + 4, options)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/core/evalf.py", line 1184, in evalf
    r = rf(x, prec, options)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/core/evalf.py", line 457, in evalf_add
    terms = [evalf(arg, prec + 10, options) for arg in v.args]
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/core/evalf.py", line 1184, in evalf
    r = rf(x, prec, options)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/core/evalf.py", line 615, in evalf_pow
    re, im, re_acc, im_acc = evalf(base, prec + 5, options)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/core/evalf.py", line 1190, in evalf
    re, im = x._eval_evalf(prec).as_real_imag()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/polys/rootoftools.py", line 425, in _eval_evalf
    root = findroot(func, x0)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/mpmath/calculus/optimization.py", line 931, in findroot
    fx = f(x0[0])
  File "<string>", line 1, in <lambda>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sympy/core/expr.py", line 207, in __float__
    raise TypeError("can't convert expression to float")
TypeError: can't convert expression to float
@pelegm
Copy link
Contributor

pelegm commented Oct 1, 2014

I confirm the bug here.

@smichr
Copy link
Member

smichr commented Feb 27, 2015

I suppose there is some underlying issue that will cause that error again, but this now passes and a test has been added so I am closing this.

@smichr smichr closed this as completed Feb 27, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants