#7377: Symbolic Ring to Maxima via EclObject
----------------------------------------------------------------------------------------------------+
Reporter: nbruin
| Owner: nbruin
Type: enhancement
| Status: needs_work
Priority: major
| Milestone: sage-feature
Component: symbolics
| Keywords:
Author: Nils Bruin, Jean-Pierre Flori
| Upstream: N/A
Reviewer: Jean-Pierre Flori, François Bissey, Karl-Dieter Crisman, Nils
Bruin | Merged:
Work_issues: loads(dumps()), very minor doctest formatting issues, a few
remaining doctest errors |
----------------------------------------------------------------------------------------------------+
Changes (by kcrisman):
* work_issues: loads(dumps()), very minor doctest formatting issues =>
loads(dumps()), very minor doctest
formatting issues, a few remaining
doctest errors
Comment:
Replying to [comment:121 fbissey]:
> After applying the patches I am now getting:
Thank you so much! I knew I was tired when I made that patch, hence it
not being quite ready for prime time. To be fair, I warned of this. But
it shouldn't be too bad to make a p3 of it.
{{[
> sage -t -force_lib "devel/sage-main/sage/symbolic/assumptions.py"
> **********************************************************************
> File "/usr/share/sage/devel/sage-main/sage/symbolic/assumptions.py",
line 89:
> sage: decl2.assume()
> Expected:
> Traceback (most recent call last):
> ...
> ValueError: Assumption is inconsistent
> RuntimeError: ECL says: Error executing code in Maxima: declare:
inconsistent declaration declare(x,odd)
> **********************************************************************
> File "/usr/share/sage/devel/sage-main/sage/symbolic/assumptions.py",
line 340:
> sage: assume(x,'odd')
> Expected:
> Traceback (most recent call last):
> ...
> ValueError: Assumption is inconsistent
> RuntimeError: ECL says: Error executing code in Maxima: declare:
inconsistent declaration declare(x,odd)
> **********************************************************************
}}}
In this case, the new message is just as informative as the old one
(though longer). So we could just replace all of those and remove the
catch for inconsistent declarations in the code, I guess.
{{{
> **********************************************************************
> File "/usr/share/sage/devel/sage-main/sage/symbolic/assumptions.py",
line 294:
> sage: sum(a*q^k, k, 0, oo)
> NameError: name 'k' is not defined
}}}
Oops. Sorry. Same for the next one.
{{{
> File "/usr/share/sage/devel/sage-main/sage/symbolic/assumptions.py",
line 300:
> sage: sum(a*q^k, k, 0, oo)
> NameError: name 'k' is not defined
}}}
This is interesting. That means we can't just remove the piece about this
in the integration code, as I thought. Since ECL returns the divergent
error, it seemed like we could, but apparently skipping the error still
outputs the principal value. I would need someone with knowledge of how
the new interface works to figure out how to make sure this reports an
error.
{{{
> sage -t -force_lib "devel/sage-
main/sage/symbolic/integration/integral.py"
> **********************************************************************
> File "/usr/share/sage/devel/sage-
main/sage/symbolic/integration/integral.py", line 356:
> sage: integrate(1/x^3,x,-1,3)
> Expected:
> Traceback (most recent call last):
> ...
> ValueError: Integral is divergent.
> Got:
> 4/9
}}}
Same thing for this one - we are catching it, but it still prints the
question. How do we make sure it doesn't do that? I don't think it did
that before, so it may be one of the apparently-not-innocuous things JP
removed in the last patch.
{{{
> sage: integrate(1/(x^3 *(a+b*x)^(1/3)), x)
> ValueError: Computation failed since Maxima requested additional
constraints; using the 'assume' command before integral evaluation *may*
help (example of legal syntax is 'assume(a>0)', see `assume?` for more
details)
> Is a positive or negative?
> **********************************************************************
> File "/usr/share/sage/devel/sage-
main/sage/symbolic/integration/integral.py", line 484:
> sage: res = integral(f,x,0.0001414, 1.); res
> ValueError: Computation failed since Maxima requested additional
constraints; using the 'assume' command before integral evaluation *may*
help (example of legal syntax is 'assume((y-1)*(y+1)>0)', see `assume?`
for more details)
> Is (y-1)*(y+1) positive, negative, or zero?
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7377#comment:122>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.