On Wed, May 6, 2009 at 10:58 AM, daveloeffler <dave.loeff...@gmail.com> wrote: > > Just now I was doing some tinkering in sage.rings.integer_mod_ring > with the aim of fixing ticket #5250, where Sage wrongly claims that > (Z / 162Z)^* is non-cyclic when it is. That turned out to be easy to > fix, but in the process I discovered something more nasty: the method > "multiplicative_subgroups" for the IntegerModRing class returns > answers that are wrong.
Crap. Thanks for spotting this. Fortunately this is used in only one place in Sage; this one line in congroup_gamma0.py: return [GammaH(N, H) for H in R.multiplicative_subgroups()] But of course that is a potentially important line. > For example, take N = 341 = 11 * 31. Then (Z / NZ)^* is isomorphic to > C_10 x C_30. The current method just calculates all subgroups of C_10 > and all subgroups of C_30, and returns the products of those. This is > clearly wrong, since not all subgroups of a direct product are > products of subgroups of the factors. In fact in this example there > are 80 subgroups -- I checked in GAP -- and Sage only finds 32 of > them. > > Does anyone know a good, fast algorithm for solving this problem > (correctly)? Alternatively, can someone give me a hint on how to use > Gap for this? It has the right command (SubgroupsSolvableGroup) but > I'm struggling to work out how to convert Gap's output back into Sage. If possible, I would greatly prefer not to use GAP for this. As it is, none of the modular forms code in Sage depends on GAP or any other external *pexpect* library. This can be really important when doing parallel computing, which I do a lot when doing research computations. Of course now the onus is on me to give an algorithm (that works), and I don't have time right now. William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---