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: | sage-6.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 follow-up: 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/Order-registration |
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 Order-function
|
318dd7b | add examples and tests
|
7a2e948 | add seealso-block
|
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/Order-registration → 7a2e948bdb80c0292cf70fa2286e0c532e66cf13 |
---|---|
Resolution: | → fixed |
Status: | positive_review → closed |