Updates:
        Status: Valid

Comment #1 on issue 3980 by [email protected]: Error in simplify for big expressions
http://code.google.com/p/sympy/issues/detail?id=3980

I keyboard interrupted it and it was in factor in trigsimp.

In [16]:  f.simplify()
^C---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-16-d99fbed8346b> in <module>()
----> 1 f.simplify()

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/matrices/dense.py in simplify(self, ratio, measure)
    932         for i in range(len(self._mat)):
    933             self._mat[i] = _simplify(self._mat[i], ratio=ratio,
--> 934                                      measure=measure)
    935
    936     def fill(self, value):

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in simplify(expr, ratio, measure, fu)
   3697     if expr.has(C.TrigonometricFunction) and not fu or expr.has(
   3698             C.HyperbolicFunction):
-> 3699         expr = trigsimp(expr, deep=True)
   3700
   3701     if expr.has(C.log):

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in trigsimp(expr, **opts)
   1425                    }[method]
   1426
-> 1427     return trigsimpfunc(expr)
   1428
   1429

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in <lambda>(x)
   1418     trigsimpfunc = {
   1419         'fu': (lambda x: fu(x)),
-> 1420         'matching': (lambda x: futrig(x)),
   1421         'groebner': (lambda x: groebnersimp(x, **opts)),
   1422         'combined': (lambda x: futrig(groebnersimp(x,

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in futrig(e, **kwargs)
   4270
   4271     old = e
-> 4272     e = bottom_up(e, lambda x: _futrig(x, **kwargs))
   4273
   4274     if kwargs.pop('hyper', True) and e.has(C.HyperbolicFunction):

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in bottom_up(rv, F, atoms, nonbasic)
   4042         if rv.args:
   4043             args = tuple([bottom_up(a, F, atoms, nonbasic)
-> 4044                 for a in rv.args])
   4045             if args != rv.args:
   4046                 rv = rv.func(*args)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in <listcomp>(.0)
   4042         if rv.args:
   4043             args = tuple([bottom_up(a, F, atoms, nonbasic)
-> 4044                 for a in rv.args])
   4045             if args != rv.args:
   4046                 rv = rv.func(*args)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in bottom_up(rv, F, atoms, nonbasic)
   4045             if args != rv.args:
   4046                 rv = rv.func(*args)
-> 4047             rv = F(rv)
   4048         elif atoms:
   4049             rv = F(rv)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in <lambda>(x)
   4270
   4271     old = e
-> 4272     e = bottom_up(e, lambda x: _futrig(x, **kwargs))
   4273
   4274     if kwargs.pop('hyper', True) and e.has(C.HyperbolicFunction):

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in _futrig(e, **kwargs)
   4340             factor_terms, TR12(x), trigs)],  # expand tan of sum
   4341         )]
-> 4342     e = greedy(tree, objective=Lops)(e)
   4343
   4344     return coeff*e

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/strategies/core.py in minrule(expr)
    116     objective = kwargs.get('objective', identity)
    117     def minrule(expr):
--> 118         return min([rule(expr) for rule in rules], key=objective)
    119     return minrule

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/strategies/core.py in <listcomp>(.0)
    116     objective = kwargs.get('objective', identity)
    117     def minrule(expr):
--> 118         return min([rule(expr) for rule in rules], key=objective)
    119     return minrule

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/strategies/core.py in chain_rl(expr)
     43     def chain_rl(expr):
     44         for rule in rules:
---> 45             expr = rule(expr)
     46         return expr
     47     return chain_rl

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in <lambda>(x)
   4317         TR10,  # sin-cos of sums -> sin-cos prod
   4318         TR11, TR6, # reduce double angles and rewrite cos pows
-> 4319         lambda x: _eapply(factor, x, trigs),
   4320         TR14,  # factored powers of identities
   4321         [identity, lambda x: _eapply(_mexpand, x, trigs)],

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/simplify/simplify.py in _eapply(func, e, cond)
   4233         return e
   4234     if _is_Expr(e) or not e.args:
-> 4235         return func(e)
   4236     return e.func(*[
   4237         _eapply(func, ei) if (cond is None or cond(ei)) else ei

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/polytools.py in factor(f, *gens, **args)
   5768
   5769     try:
-> 5770         return _generic_factor(f, gens, args, method='factor')
   5771     except PolynomialError as msg:
   5772         if not f.is_commutative:

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/polytools.py in _generic_factor(expr, gens, args, method)
   5463     options.allowed_flags(args, [])
   5464     opt = options.build_options(gens, args)
-> 5465     return _symbolic_factor(sympify(expr), opt, method)
   5466
   5467

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/polytools.py in _symbolic_factor(expr, opt, method)
   5408     """Helper function for :func:`_factor`. """
   5409     if isinstance(expr, Expr) and not expr.is_Relational:
-> 5410 coeff, factors = _symbolic_factor_list(together(expr), opt, method)
   5411         return _keep_coeff(coeff, _factors_product(factors))
   5412     elif hasattr(expr, 'args'):

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/polytools.py in _symbolic_factor_list(expr, opt, method)
   5372             func = getattr(poly, method + '_list')
   5373
-> 5374             _coeff, _factors = func()
   5375             if _coeff is not S.One:
   5376                 if exp.is_Integer:

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/polytools.py in factor_list(f)
   2903         if hasattr(f.rep, 'factor_list'):
   2904             try:
-> 2905                 coeff, factors = f.rep.factor_list()
   2906             except DomainError:
   2907                 return S.One, [(f, 1)]

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/polyclasses.py in factor_list(f)
    755     def factor_list(f):
    756         """Returns a list of irreducible factors of ``f``. """
--> 757         coeff, factors = dmp_factor_list(f.rep, f.lev, f.dom)
    758         return coeff, [ (f.per(g), k) for g, k in factors ]
    759

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/factortools.py in dmp_factor_list(f, u, K0)
   1275         if K.is_ZZ:
   1276             levels, f, v = dmp_exclude(f, u, K)
-> 1277             coeff, factors = dmp_zz_factor(f, v, K)
   1278
   1279             for i, (f, k) in enumerate(factors):

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/factortools.py in dmp_zz_factor(f, u, K)
   1088
   1089     if dmp_degree(g, u) > 0:
-> 1090         g = dmp_sqf_part(g, u, K)
   1091         H = dmp_zz_wang(g, u, K)
   1092         factors = dmp_trial_division(f, H, u, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/sqfreetools.py in dmp_sqf_part(f, u, K)
    245         f = dmp_neg(f, u, K)
    246
--> 247     gcd = dmp_gcd(f, dmp_diff(f, 1, u, K), u, K)
    248     sqf = dmp_quo(f, gcd, u, K)
    249

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_gcd(f, g, u, K)
   1668
   1669     """
-> 1670     return dmp_inner_gcd(f, g, u, K)[0]
   1671
   1672

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_inner_gcd(f, g, u, K)
   1627
   1628     J, (f, g) = dmp_multi_deflate((f, g), u, K)
-> 1629     h, cff, cfg = _dmp_inner_gcd(f, g, u, K)
   1630
   1631     return (dmp_inflate(h, J, u, K),

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in _dmp_inner_gcd(f, g, u, K)
   1596         if K.is_ZZ and query('USE_HEU_GCD'):
   1597             try:
-> 1598                 return dmp_zz_heu_gcd(f, g, u, K)
   1599             except HeuristicGCDFailed:
   1600                 pass

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1377
   1378         if not (dmp_zero_p(ff, v) or dmp_zero_p(gg, v)):
-> 1379             h, cff, cfg = dmp_zz_heu_gcd(ff, gg, v, K)
   1380
   1381             h = _dmp_zz_gcd_interpolate(h, x, v, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dmp_zz_heu_gcd(f, g, u, K)
   1352     """
   1353     if not u:
-> 1354         return dup_zz_heu_gcd(f, g, K)
   1355
   1356     result = _dmp_rr_trivial_gcd(f, g, u, K)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/euclidtools.py in dup_zz_heu_gcd(f, g, K)
   1231     dg = dup_degree(g)
   1232
-> 1233     gcd, f, g = dup_extract(f, g, K)
   1234
   1235     if df == 0 or dg == 0:

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/densetools.py in dup_extract(f, g, K)
    745     """
    746     fc = dup_content(f, K)
--> 747     gc = dup_content(g, K)
    748
    749     gcd = K.gcd(fc, gc)

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/densetools.py in dup_content(f, K)
    608     else:
    609         for c in f:
--> 610             cont = K.gcd(cont, c)
    611
    612             if K.is_one(cont):

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/polys/domains/pythonintegerring.py in gcd(self, a, b)
     76     def gcd(self, a, b):
     77         """Compute GCD of ``a`` and ``b``. """
---> 78         return python_gcd(a, b)
     79
     80     def lcm(self, a, b):

/Users/aaronmeurer/Documents/Python/sympy/sympy/sympy/core/numbers.py in igcd(a, b)
    126
    127             while b:
--> 128                 a, b = b, a % b
    129         else:
    130             a = abs(a or b)

KeyboardInterrupt:

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" 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-issues.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to