I'm having the following problem with basic symbolics in Sage 4.3.2.
I create some variables with "var", combine them into rational
functions, then take their numerator and denominator and coerce them
into a PolynomialRing.   This works fine most of the time, but very
occasionally (every few 10000 usages) it chokes with following error
message:

TypeError: unable to make sense of Maxima expression
'"__SAGE_SYNCHRO_MARKER_202188656"' in Sage

If I use "pdb" to go up to frame at the top of the traceback, and
rerun the offending line, it works, as you can see below.

Sometimes it dies with other message complaining about the syntax of
seeming correct expressions, e.g.

TypeError: Error executing code in Maxima
CODE:
        _tmp_ : -(a0-1)*a1^2*a3$
Maxima ERROR:

_tmp_ : -(a0-1)*a1^2*a3$
stdin:57338284:Incorrect syntax: Illegal use of delimiter )
(%i832002)
stdin:57338357:Incorrect syntax: Premature termination of input at ;.
(%i832003)

Any ideas of what's going on here?

Thanks,

Nathan

----------------------------------------------------------------------
| Sage Version 4.3.2, Release Date: 2010-02-06                       |
| Type notebook() for the GUI, and license() for information.        |
----------------------------------------------------------------------
sage: attach stavros/__init__.py
sage: %pdb
Automatic pdb calling has been turned ON
sage: test()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call
last)

/Users/dunfield/work/stavros3/<ipython console> in <module>()

/Users/dunfield/work/stavros3/stavros/__init__.py in test()
    226             N = OneCuspedManifold(M)
    227             for S in N.NormalSurfaces:
--> 228                 info = N.vertex_surface_info(S)
    229                 if info [:-3] == (True, False, False):
    230                     print M, N.NormalSurfaces.index(S), info

/Users/dunfield/work/stavros3/stavros/__init__.py in
vertex_surface_info(self, surface)
    132         n = len(surface.Coefficients)
    133         is_kabaya = min(surface.Coefficients) > 0
--> 134         is_ideal = self.comes_from_an_ideal_point(surface)
    135         is_isolated = self.vertex_surface_is_isolated(surface)
    136         return surface.BoundarySlope, is_isolated, is_kabaya,
is_ideal

/Users/dunfield/work/stavros3/stavros/__init__.py in
comes_from_an_ideal_point(self, surface)
    121         R = PolynomialRing(QQ, ['a%d' % i for i in range(0,n)]
+ ['b%d' % i for i in range(0,n)])
    122         eqns = self.first_order_equations(surface)
--> 123         poly_eqns = [ R(e.numerator() - e.denominator()) for e
in eqns]
    124         gens = R.gens_dict()
    125         blow_up_eqns = [ gens["a%d" % i] * gens["b%d" % i] - 1
for i in range(0, n)]

/pkgs/sage-4.3.2/local/lib/python2.6/site-packages/sage/symbolic/
expression.so in sage.symbolic.expression.Expression.denominator (sage/
symbolic/expression.cpp:20432)()

/pkgs/sage-4.3.2/local/lib/python2.6/site-packages/sage/structure/
parent.so in sage.structure.parent.Parent.__call__ (sage/structure/
parent.c:6206)()

/pkgs/sage-4.3.2/local/lib/python2.6/site-packages/sage/structure/
coerce_maps.so in sage.structure.coerce_maps.NamedConvertMap._call_
(sage/structure/coerce_maps.c:4098)()

/pkgs/sage-4.3.2/local/lib/python2.6/site-packages/sage/interfaces/
maxima.pyc in _symbolic_(self, R)
   1792             sqrt(2)
   1793         """
-> 1794         return R(self._sage_())
   1795
   1796     def __complex__(self):

/pkgs/sage-4.3.2/local/lib/python2.6/site-packages/sage/interfaces/
maxima.pyc in _sage_(self)
   1773         from sage.calculus.calculus import
symbolic_expression_from_maxima_string
   1774         #return
symbolic_expression_from_maxima_string(self.name(),
maxima=self.parent())

-> 1775         return
symbolic_expression_from_maxima_string(repr(self))
   1776
   1777     def _symbolic_(self, R):

/pkgs/sage-4.3.2/local/lib/python2.6/site-packages/sage/calculus/
calculus.pyc in symbolic_expression_from_maxima_string(x, equals_sub,
maxima)
   1964         return symbolic_expression_from_string(s, syms,
accept_sequence=True)
   1965     except SyntaxError:
-> 1966         raise TypeError, "unable to make sense of Maxima
expression '%s' in Sage"%s
   1967     finally:
   1968         is_simplified = False

TypeError: unable to make sense of Maxima expression
'"__SAGE_SYNCHRO_MARKER_202188656"' in Sage
> /pkgs/sage-4.3.2/local/lib/python2.6/site-packages/sage/calculus/calculus.py(1968)symbolic_expression_from_maxima_string()
   1967     finally:
-> 1968         is_simplified = False
   1969

ipdb> up
> /pkgs/sage-4.3.2/local/lib/python2.6/site-packages/sage/interfaces/maxima.py(1775)_sage_()
   1774         #return
symbolic_expression_from_maxima_string(self.name(),
maxima=self.parent())

-> 1775         return
symbolic_expression_from_maxima_string(repr(self))
   1776

ipdb> up
> /pkgs/sage-4.3.2/local/lib/python2.6/site-packages/sage/interfaces/maxima.py(1794)_symbolic_()
   1793         """
-> 1794         return R(self._sage_())
   1795

ipdb> up
> /Users/dunfield/work/stavros3/stavros/__init__.py(123)comes_from_an_ideal_point()
    122         eqns = self.first_order_equations(surface)
--> 123         poly_eqns = [ R(e.numerator() - e.denominator()) for e
in eqns]
    124         gens = R.gens_dict()

ipdb> eqns
[-(a2 - 1)*(a1 - 1)*(a0 - 1)^2*a3/(a0^2*a1*a2*a5), a0*a4/(a1 - 1)^2, -
(a2 - 1)*a1^2*a3*a4/((a4 - 1)^2*(a0 - 1)^2*a5), a0*a5^2/((a2 -
1)^2*a3^2), (a4 - 1)^2*(a1 - 1)/(a1*a4^2), a2]
ipdb> [ R(e.numerator() - e.denominator()) for e in eqns]
[-a0^2*a1*a2*a3 - a0^2*a1*a2*a5 + a0^2*a1*a3 + a0^2*a2*a3 +
2*a0*a1*a2*a3 - a0^2*a3 - 2*a0*a1*a3 - 2*a0*a2*a3 - a1*a2*a3 + 2*a0*a3
+ a1*a3 + a2*a3 - a3, -a1^2 + a0*a4 + 2*a1 - 1, -a1^2*a2*a3*a4 -
a0^2*a4^2*a5 + a1^2*a3*a4 + 2*a0^2*a4*a5 + 2*a0*a4^2*a5 - a0^2*a5 -
4*a0*a4*a5 - a4^2*a5 + 2*a0*a5 + 2*a4*a5 - a5, -a2^2*a3^2 + 2*a2*a3^2
+ a0*a5^2 - a3^2, -2*a1*a4 - a4^2 + a1 + 2*a4 - 1, a2 - 1]
ipdb>



-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

To unsubscribe, reply using "remove me" as the subject.

Reply via email to