Opened 7 years ago
Closed 7 years ago
#19425 closed defect (fixed)
Order in symbolic ring: error calling operator
Reported by:  dkrenn  Owned by:  

Priority:  major  Milestone:  sage6.10 
Component:  symbolics  Keywords:  
Cc:  Merged in:  
Authors:  Benjamin Hackl  Reviewers:  Ralf Stephan 
Report Upstream:  N/A  Work issues:  
Branch:  7a2e948 (Commits, GitHub, GitLab)  Commit:  7a2e948bdb80c0292cf70fa2286e0c532e66cf13 
Dependencies:  Stopgaps: 
Description (last modified by )
sage: R.<r> = ZZ[[]] sage: o = SR(r.O(2)).operands()[1]; o Order(r^2) sage: o.operator() ... RuntimeError: cannot find SFunction in table
or
x.Order().operator() ... RuntimeError: cannot find SFunction in table
Change History (7)
comment:2 Changed 7 years ago by
Description:  modified (diff) 

comment:3 followup: 4 Changed 7 years ago by
Replying to cheuberg:
sage: (x+x^2).series(x, 2).operator() is None True
The topmost operator in symbolic series pseries
is not a registered function, but it can be seen in the expression tree:
sage: (x+x^2).series(x, 2)._dbgprinttree() pseries @0x4e2c3b0, hash=0x0, flags=0x3 1 (numeric) @0x35d70d0, hash=0x0, flags=0x7 1 (numeric) @0x35d70d0, hash=0x0, flags=0x7  function Order @0x4c197f0, serial=12, hash=0x0, flags=0x3, nops=1 1 (numeric) @0x35d70d0, hash=0x0, flags=0x7 ===== 2 (numeric) @0x35d7130, hash=0x0, flags=0x7  x (symbol) @0x3e5d6d0, serial=5, hash=0xf4f4bfee, flags=0xf, domain=0, iflags=0000000000000000 0 (numeric) @0x3647180, hash=0x0, flags=0x7
You can see that the function Order
is there too. GiNaC::Order
is registered in Pynac and imported to Sage (symbolic/ginac.pxd
). But it somehow doesn't get into Sage's registry sfunction_serial_dict
which is created and used in symbolic/function.pyx
.
comment:4 Changed 7 years ago by
Authors:  → Benjamin Hackl 

Branch:  → u/behackl/function/Orderregistration 
Commit:  → 7a2e948bdb80c0292cf70fa2286e0c532e66cf13 
Status:  new → needs_review 
Replying to rws:
But it somehow doesn't get into Sage's registry
sfunction_serial_dict
which is created and used insymbolic/function.pyx
.
This was because Order
was not registered. Should be fixed now.
New commits:
84aa1e2  register Orderfunction

318dd7b  add examples and tests

7a2e948  add seealsoblock

comment:5 Changed 7 years ago by
Reviewers:  → Ralf Stephan 

Passes tests in selected directories. As soon as a patchbot run passes this can be set positive.
comment:6 Changed 7 years ago by
Status:  needs_review → positive_review 

comment:7 Changed 7 years ago by
Branch:  u/behackl/function/Orderregistration → 7a2e948bdb80c0292cf70fa2286e0c532e66cf13 

Resolution:  → fixed 
Status:  positive_review → closed 