Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
Compute reynolds operator before passing it to singular
Browse files Browse the repository at this point in the history
  • Loading branch information
miguelmarco committed Oct 12, 2015
1 parent 24817f2 commit 6a025ba
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/sage/groups/matrix_gps/finitely_generated.py
Expand Up @@ -666,7 +666,7 @@ def invariant_generators(self, ring=None):
INPUT:
- ``ring`` -- (default: None) The polynomial ring where the result will live.
If it is not given, it will be created according to the group.
If it is not given, it will be created according to the group.
Computes generators for the polynomial ring
`F[x_1,\ldots,x_n]^G`, where `G` in `GL(n,F)` is a finite matrix
Expand Down Expand Up @@ -730,8 +730,10 @@ def invariant_generators(self, ring=None):
- S. King, "Minimal Generating Sets of non-modular invariant
rings of finite groups", :arxiv:`math/0703035`.
"""
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.modules.free_module_element import vector
if not ring:
F = self.base_ring()
n = self.matrix_space().nrows()
Expand All @@ -742,8 +744,6 @@ def invariant_generators(self, ring=None):
from sage.libs.singular.function import singular_function
sage.libs.singular.function_factory.lib('finvar.lib')
inrey = singular_function('invariant_algebra_reynolds')
grrey = singular_function('group_reynolds')
lgens = [a.matrix().change_ring(R) for a in self.gens()]
L = grrey(*lgens)
invars = inrey(L[0], 0)
L = matrix([a.matrix()*vector(R.gens()) for a in self.list()])
invars = inrey(L, 0)
return [R(a) for a in invars[0]]

0 comments on commit 6a025ba

Please sign in to comment.