#4513: [with patch, needs review] Action of MatrixGroup on a MPolynomialRing
---------------------------------------------------+------------------------
 Reporter:  SimonKing                              |        Owner:  SimonKing 
     Type:  enhancement                            |       Status:  new       
 Priority:  major                                  |    Milestone:  sage-3.2.1
Component:  commutative algebra                    |   Resolution:            
 Keywords:  matrix group, action, polynomial ring  |  
---------------------------------------------------+------------------------
Changes (by SimonKing):

  * owner:  malb => SimonKing
  * summary:  [with patch, needs work] Action of MatrixGroup on a
              MPolynomialRing => [with patch, needs review]
              Action of MatrixGroup on a MPolynomialRing

Comment:

 Some changes:

 Nicolas ThiƩry suggested to implement the action of matrix groups by a
 method for polynomials (I call the method `left_matrix_action`), and, for
 convenience, also provide a `__call__` method for MatrixGroupElement that
 refers to `left_matrix_action`.

 This has several advantages:
  * The `__call__` works for any class that has a `left_matrix_action`
 method, hence, it is not a-priori restricted to polynomials.
  * I've put `left_matrix_action` into `multi_polynomial.pyx`, hence, I can
 use Cython.

 I have two Cython concerns left:
  1. The innerst loop is
  {{{
 prod([Im[k]**X[k] for k in xrange(n)])
  }}}
  where `k` is c'defined as `int`. Should this better be done in a for-
 loop, rather then creating a list and calling `prod`?
  2. The variable `X` is of type `polydict.ETuple`, so I can not directly
 c'define `X`. One could do
  {{{
     cdef tuple X
     for i from 0<i<l:
         X = tuple(Expo[i])
  }}}
  But would this be faster?

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4513#comment:4>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to