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 |

**Note:**See TracTickets for help on using tickets.

New commits:

`implement action of weyl algebra on polynomials`