#7496: symbolic variable names should be valid identifiers, or ridiculousness
follows
-------------------------------------------------+--------------------------
   Reporter:  was                                |          Owner:  burcin      
                     
       Type:  defect                             |         Status:  needs_work  
                     
   Priority:  major                              |      Milestone:  sage-4.7.1  
                     
  Component:  symbolics                          |       Keywords:  sd31        
                     
Work_issues:                                     |       Upstream:  N/A         
                     
   Reviewer:  Karl-Dieter Crisman, Volker Braun  |         Author:  Volker 
Braun, Karl-Dieter Crisman
     Merged:                                     |   Dependencies:              
                     
-------------------------------------------------+--------------------------
Changes (by kcrisman):

  * status:  needs_review => needs_work


Comment:

 Thanks.  So far it looks good.

 But with the original version of the patch (and almost certainly the new
 one) we get the following doctest error (was letting them run overnight,
 my apologies):
 {{{
 sage -t -long "devel/sage/sage/calculus/desolvers.py"
 **********************************************************************
 File "/Users/.../sage-4.7.1.alpha2/devel/sage/sage/calculus/desolvers.py",
 line 1430:
     sage: sol=desolve_odeint(f,[0.5,2],srange(0,10,0.1),[x,y])
 Exception raised:
 
sol=desolve_odeint(f,[RealNumber('0.5'),Integer(2)],srange(Integer(0),Integer(10),RealNumber('0.1')),[x,y])###line
 1430:
     sage: sol=desolve_odeint(f,[0.5,2],srange(0,10,0.1),[x,y])
       File "/Users/.../sage-4.7.1.alpha2/local/lib/python/site-
 packages/sage/calculus/desolvers.py", line 1501, in desolve_odeint
         ivar = var(safe_name)
       File "ring.pyx", line 798, in sage.symbolic.ring.var
 (sage/symbolic/ring.cpp:7745)
       File "ring.pyx", line 506, in sage.symbolic.ring.SymbolicRing.var
 (sage/symbolic/ring.cpp:6272)
       File "ring.pyx", line 534, in sage.symbolic.ring.SymbolicRing.var
 (sage/symbolic/ring.cpp:6044)
     ValueError: The name "t_[x" is not a valid Python identifier.
 **********************************************************************
 <snip two failures that result from sol not being defined>
 **********************************************************************
 File "/Users/.../sage-4.7.1.alpha2/devel/sage/sage/calculus/desolvers.py",
 line 1446:
     sage:
 sol=desolve_odeint(lorenz,ics,times,[x,y,z],rtol=1e-13,atol=1e-14)
 Exception raised:
       File "<doctest __main__.example_12[15]>", line 1, in <module>
 
sol=desolve_odeint(lorenz,ics,times,[x,y,z],rtol=RealNumber('1e-13'),atol=RealNumber('1e-14'))###line
 1446:
     sage:
 sol=desolve_odeint(lorenz,ics,times,[x,y,z],rtol=1e-13,atol=1e-14)
       File "/Users/.../sage-4.7.1.alpha2/local/lib/python/site-
 packages/sage/calculus/desolvers.py", line 1501, in desolve_odeint
         ivar = var(safe_name)
       File "ring.pyx", line 798, in sage.symbolic.ring.var
 (sage/symbolic/ring.cpp:7745)
       File "ring.pyx", line 506, in sage.symbolic.ring.SymbolicRing.var
 (sage/symbolic/ring.cpp:6272)
       File "ring.pyx", line 534, in sage.symbolic.ring.SymbolicRing.var
 (sage/symbolic/ring.cpp:6044)
     ValueError: The name "t_[x" is not a valid Python identifier.
 **********************************************************************
 File "/Users/.../sage-4.7.1.alpha2/devel/sage/sage/calculus/desolvers.py",
 line 1470:
     sage:
 
sol=desolve_odeint(f,ci,t,v,rtol=1e-3,atol=1e-4,h0=0.1,hmax=1,hmin=1e-4,mxstep=1000,mxords=17)
 Exception raised:
       File "<doctest __main__.example_12[32]>", line 1, in <module>
 
sol=desolve_odeint(f,ci,t,v,rtol=RealNumber('1e-3'),atol=RealNumber('1e-4'),h0=RealNumber('0.1'),hmax=Integer(1),hmin=RealNumber('1e-4'),mxstep=Integer(1000),mxords=Integer(17))###line
 1470:
     sage:
 
sol=desolve_odeint(f,ci,t,v,rtol=1e-3,atol=1e-4,h0=0.1,hmax=1,hmin=1e-4,mxstep=1000,mxords=17)
       File "/Users/.../sage-4.7.1.alpha2/local/lib/python/site-
 packages/sage/calculus/desolvers.py", line 1501, in desolve_odeint
         ivar = var(safe_name)
       File "ring.pyx", line 798, in sage.symbolic.ring.var
 (sage/symbolic/ring.cpp:7745)
       File "ring.pyx", line 506, in sage.symbolic.ring.SymbolicRing.var
 (sage/symbolic/ring.cpp:6272)
       File "ring.pyx", line 534, in sage.symbolic.ring.SymbolicRing.var
 (sage/symbolic/ring.cpp:6044)
     ValueError: The name "t_[y1" is not a valid Python identifier.
 **********************************************************************
 }}}

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