Opened 10 years ago

Last modified 5 years ago

## #4513 needs_work enhancement

# Action of MatrixGroup on a MPolynomialRing — at Initial Version

Reported by: | SimonKing | Owned by: | tbd |
---|---|---|---|

Priority: | major | Milestone: | sage-6.4 |

Component: | commutative algebra | Keywords: | matrix group, action, polynomial ring |

Cc: | wdj, malb | Merged in: | |

Authors: | Reviewers: | ||

Report Upstream: | N/A | Work issues: | |

Branch: | Commit: | ||

Dependencies: | Stopgaps: |

### Description

A group of n by n matrices over a field K acts on a polynomial ring with n variables over K. However, this is not implemented yet.

Off list, David Joyner suggested to implement it with a `__call__`

method in `matrix_group_element.py`

. Then, the following should work:

sage: M=Matrix(GF(3),[[1,2],[1,1]]) sage: G=MatrixGroup([M]) sage: g=G.0 sage: p=x*y^2 sage: g(p) x^3 + x^2*y - x*y^2 - y^3 sage: _==(x+2*y)*(x+y)^2 True

Although it concerns `matrix_group_element.py`

, I believe this ticket belongs to Commutative Algebra, for two reasons:

- An efficient implementation probably requires knowledge of the guts of MPolynomialElement.
- My long-term goal is to re-implement my algorithms for the computation of non-modular invariant rings. The current implementation is in the
`finvar.lib`

library of Singular -- the slow Singular interpreter sometimes is a bottle necks.

One more general technical question: It is `matrix_group_element.py`

, hence seems to be pure python. Is it possible to define an additional method in some `.pyx`

file using Cython? I don't know if this would be reasonable to do here, but perhaps this could come in handy at some point...

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