#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.

Reply via email to