Opened 3 years ago
Closed 3 years ago
#29928 closed enhancement (fixed)
implement action of DifferentialWeylAlgebra on polynomials
Reported by: | Markus Wageringel | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-9.2 |
Component: | algebra | Keywords: | |
Cc: | Merged in: | ||
Authors: | Markus Wageringel | Reviewers: | Travis Scrimshaw |
Report Upstream: | N/A | Work issues: | |
Branch: | 7cdc6b0 (Commits, GitHub, GitLab) | Commit: | 7cdc6b011839f46f8c5a519385e443c5bbab8f52 |
Dependencies: | Stopgaps: |
Description
This ticket implements the action of differential operators (from the Weyl algebra) on polynomials:
sage: W.<x,y> = DifferentialWeylAlgebra(QQ) sage: dx, dy = W.differentials() sage: dx.diff(x^3) 3*x^2 sage: (x*dx + dy + 1).diff(x^4*y^4 + 1) 5*x^4*y^4 + 4*x^4*y^3 + 1
Change History (5)
comment:1 Changed 3 years ago by
Authors: | → Markus Wageringel |
---|---|
Branch: | → u/gh-mwageringel/29928 |
Commit: | → 7cdc6b011839f46f8c5a519385e443c5bbab8f52 |
Status: | new → needs_review |
comment:2 Changed 3 years ago by
Reviewers: | → Travis Scrimshaw |
---|---|
Status: | needs_review → positive_review |
This is good to have. Although I don't see why this needs the full Action
framework. I guess there is a bit of an issue with overloading *
between the action and the natural coercion. Perhaps we could have the action use the @
operator to distinguish the two. That being said, let's get this in as-is and do more based on this ticket later.
comment:3 Changed 3 years ago by
Thanks for the review. Mainly, I assumed using the action framework was the preferred way to implement this, but you are probably right that it is not entirely necessary.
Using the @
operator here sounds like a good option to me. Though, given the recent discussion on devel, it might be difficult to reach a consensus about this.
comment:4 Changed 3 years ago by
Well, I don't think we have to worry too much about multiplying matrices, but I see your point (and I might want to push to use @
for tensor products). However, it would be nice to overload some operator so we don't have to write f.diff(g)
. Maybe a shift operator >>
or <<
would be good? Or the &
operator?
comment:5 Changed 3 years ago by
Branch: | u/gh-mwageringel/29928 → 7cdc6b011839f46f8c5a519385e443c5bbab8f52 |
---|---|
Resolution: | → fixed |
Status: | positive_review → closed |
New commits:
implement action of weyl algebra on polynomials