Help with sympy, please
Dick Moores
rdm at rcblue.com
Mon Nov 19 02:03:35 CET 2007
At 04:26 PM 11/18/2007, Fredrik Johansson wrote:
>On Nov 19, 2007 1:05 AM, Dick Moores <rdm at rcblue.com> wrote:
>Hi Dick, I recognize you from python-list, where you had a question
>about mpmath.
>
>Your code still won't work if you convert the numbers to Floats
>because the Float type in sympy.numerics does not implement ** for
>fractional numbers. You could use the exp function in
>sympy.numerics.functions instead to compute e**x.
Thanks, Fredrik, but I get the same error using either exp or power:
============================
from __future__ import division
from sympy import *
from sympy import Rational as R
from sympy.numerics import *
from sympy.numerics.functions import power, exp
prec = 50
Float.setdps(prec)
e = evalf(E)
n = 1
m = n + 1
k = 0
n = evalf(R(n,1))
m = evalf(R(m,1))
prod = evalf(R(1,1))
prec = 50
Float.setdps(prec)
e = evalf(E)
n = 1
k = 0
prod = evalf(R(1,1))
while k < 1000:
k += 1
n = evalf(R(n,1))
term = (exp(1/n))/(exp(1/(n+1)))
prod *= term
n += 2
print prod, term
=============================
term = (exp(1/n))/(exp(1/(n+1)))
TypeError: unsupported operand type(s) for /: 'int' and 'Float'
And also if I use sympy.numerics.functions.power in that line, as
term = power(e,(1/n))/power(e,(1/(n+1)))
I get:
term = power(e,(1/n))/power(e,(1/(n+1)))
TypeError: unsupported operand type(s) for /: 'int' and 'Float'
Dick
More information about the Python-list
mailing list