A computer algebra system written in pure Python http://sympy.org/ . To get started to with contributing https://github.com/sympy/sympy/wiki/Introduction-to-contributing
eagleoflqj on master
Fix a typo in integrals.rst author: Add user202729 to .mail… Merge pull request #23504 from … (compare)
.subs
function is quite slow. When I have a long expression e
(can contain nonlinear terms like x**2
, y*x*z
), calling e.subs(some_dict)
takes quite sometime (a sec or so). In fact subs is often slower than solving for large equations. Am I using subs
correctly?
import sympy as sp
from sympy import exp, oo
sp.init_printing()
x = sp.Symbol("x")
a, m, h = sp.symbols("a, m, h", positive = True)
A = sp.Symbol("A")
f = exp(-2 * a * m * x**2 / h)
int_f = sp.integrate(f, (x, 0, oo))
eq1 = 2 * (abs(A))**2 * (int_f) - 1
print(sp.solve(eq1, A))
Sum((-1)**(x+1) + (-1)**(x+2) , (x, 1, oo)).is_convergent()
is not returning the expected result and raises a TypeError saying Invalid NaN comparison , is this a meaningful error or Am I missing something useful ?Maybe I could raise an issue ?
sym.simplify(sym.Sum((-1)**(x+1)+(-1)**(x+2),(x,1,sym.oo)))
Last year expansion was causing slowdowns in the .equals
method. In sympy/sympy#19673 we had
In [10]: e1 = 100*(x**3 + 1)**99
In [11]: e2 = 300*x**2*(x**3 + 1)**99
In [12]: %time e1.equals(e2)
CPU times: user 1.13 s, sys: 9.37 ms, total: 1.14 s
Wall time: 1.15 s
Out[12]: False
It seems like the .equals
method has gotten faster. Anyone know what's changed?