#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  |      
Merged:              
Work_issues:                                                           |  
-----------------------------------------------------------------------+----

Comment(by nbruin):

 I have looked a little into the error reporting and it looks like maxima
 was not creating the error that crashed ecllib's error string creation
 routine -- instead it was maxima-eval, the maxima "top level" replacement
 we run to catch and interpret maxima's error reporting. Maxima's error
 reporting hasn't changed since 1985. It just happened that this was the
 first time we stumbled into an error message that was not properly
 handled. The new patch "errorcatching.patch" (to be applied after all the
 "rebased" patches) fixes this.

 We now get:
 {{{
 sage: arccoth(1).simplify()
  -- an error. To debug this try: debugmode(true);
 (result= MAXIMA-ERROR)
 ($error= ((MLIST) The number ~:M isn't in the domain of ~A 1 ACOTH))
 TypeError: ECL says: The number 1 isn't in the domain of acoth
 sage: elliptic_e(arccoth(1), x^2*e)
 (result=
  (MAXIMA_EVAL
   .
 /usr/local/sage/4.6/local/share/maxima/5.22.1/share/orthopoly/orthopoly.lisp))
 ($error= ((MLIST) The number ~:M isn't in the domain of ~A 1 ACOTH))
 (result= (MAXIMA_EVAL))
 ($error= ((MLIST) The number ~:M isn't in the domain of ~A 1 ACOTH))
  -- an error. To debug this try: debugmode(true);
 (result= MAXIMA-ERROR)
 ($error= ((MLIST) The number ~:M isn't in the domain of ~A 1 ACOTH))
 elliptic_e(arccoth(1), x^2*e)
 }}}

 So we see a bunch of things:
  * printing the error has now been turned off, but a quick glance at the
 code shows that the message {{{-- an error. To debug this try:
 debugmode(true);}}} cannot be turned off. I regard that a bug in Maxima
 and we can consider reporting that. We could also just monkeypatch MERROR.
  * the error now gets properly reported
  * there is a lot of junk diagnostic output generated by my fixed routine.
 Feel free to comment that back out.
  * the actual simplification of elliptic_e (whatever is tried there)
 apparently is wrapped in a try/except and the error reported by ecl is
 nicely hidden and the result is left unchanged.

 This should be closer to how sage handled this first.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7377#comment:37>
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