.subsfunction is quite slow. When I have a long expression
e(can contain nonlinear terms like
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
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 ?
Last year expansion was causing slowdowns in the
.equals method. In sympy/sympy#19673 we had
In : e1 = 100*(x**3 + 1)**99 In : e2 = 300*x**2*(x**3 + 1)**99 In : %time e1.equals(e2) CPU times: user 1.13 s, sys: 9.37 ms, total: 1.14 s Wall time: 1.15 s Out: False
It seems like the
.equals method has gotten faster. Anyone know what's changed?
(1+x)**nas a binomial expansion , not sure I could find one . I ask this because I'm working on an issue which involves something like
(1+x)**n- x**n, now the issue works perfectly when we use numbers like
(1+x)**3 - x**3and we could solve this through
3*x**2 + 3*x + 1but symbolically not sure how we could approach it . Maybe if we could expand the
(1+x)**nas a binomial expansion and cancel out the first term which would always be
x**nthen the maybe the issue wouldn't be that tough to solve . Currently gammasimp() isn't of much help ! and returns back the same expression !