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:

  1. An efficient implementation probably requires knowledge of the guts of MPolynomialElement.
  2. 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...

Change History (0)

Note: See TracTickets for help on using tickets.