Hello, After more than 5 years, there is now a ticket implementing a unit_group() method for IntegerModRing: http://trac.sagemath.org/ticket/17317 (needs review).
Peter Op zaterdag 19 september 2009 05:14:57 UTC+2 schreef Rob Beezer: > > Sage-Devel, > > I've got it in my head to implement the group of invertible elements > in Z_n as a useful tool for teaching introductory group theory. There > is of course, a very simple and straight-forward classification of > these abelian groups. But for someone new to the topic, they display > quite a bit of variety - sometimes, cyclic, sometimes not, a variety > of orders for the elements, and a variety of subgroups. I'd say they > might even look unpredictable to a novice. > > In IntegerModRing there are a few relevant methods whose name begins > with "unit" and a few that begin with "multiplicative." These are > useful for students, and "unit_gens" will be useful for my purposes. > My intent would be to implement the group so that all a student ever > saw was the actual integers mod n. Under the hood, the classification > and generators might provide an efficient implementation. For > example, rather than having "multiplicative_subgroups" return each > subgroup as a list of generators, it might be possible to actually > build the subgroups so they can be queried about order, cyclic-ness, > etc. So I'd try to make the group implementation general enough to > also represent the subgroups. > > So this won't necessarily make Sage any more powerful, but it might be > a great teaching tool for basic concepts of group theory, at least up > until the classification of finite abelian groups. > > Has this group been implemented somewhere and I missed it? Is there > some other powerful machinery for rings that might make this easier to > implement? Any code elsewhere for a similar structure or purpose that > I might look to for help in designing this? Any general advice or > suggestions? Thanks! > > Rob > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.