Thanks for the pointers everyone.
I was wondering as well about subobjects and quotient objects. As Rob asks, what does it mean to do them "right"? My expectation would be to have a subgroup be the subset with the same operation. So if I define P a permutation group in S_n and then create a subgroup H of P it still lives in S_n. Then perhaps I can call a function that embeds H into the smallest S_k (or maybe there is no good algorithm?) For a quotient group, say P/H, I'd expect to write an element as a coset: Ha, Hb. As to free groups: Should Sage just access gap for this? On Mar 8, 8:43 pm, Rob Beezer <goo...@beezer.cotse.net> wrote: > Hi Mike, > > First, thanks for your work on this. > > An implementation of finite abelian groups would be at the top of my > list. Folklore has it many have tried - not sure just where it gets > hard. Then build the group of units mod n on top of that for its own > sake and as a demonstration of the more abstract class. I have some > code for the group of units in a worksheet someplace (which I can > share). Besides wishing for a more solid foundation to build on, I > ran out of steam as I tried to implement subgroups of same properly. > Maybe somebody can suggest somewhere else in Sage where an algebraic > substructure is done "right". > > I really like starting with permutation groups with my students, so > they have something concrete to compute with, and then groups of > symmetries are very natural. A colleague starts with matrix groups > for the same reason. But once I get beyond groups of order 15 (except > for the obvious infinite familes) I begin to wish I had groups as > presentations towards the end of the semester. I implementd dicyclic > groups as permutation groups to plug a hole at order 12, but I think > there is little point in going beyond a complete list up to 15. So > this is on my wish list also. > > Homomorphisms would be really nice as well, but I agree that looks > hard, and I wouldn't find them as beneficial. > > I'm less concerned about a long list resulting from tab-completion. I > see that as the point of a tutorial - expose students to the 20-40 > methods they need to know with some instructions and then turn them > loose. If they can remember the first few letters of whatever method > they are after, the tab-completion list is usually quite short (or > unique). Trickier things (like syntax for specifying permutations) > and coercing elements into permutation groups, or rings of integers > will not be easy to convey with tools like tab-completion, so there's > another case for a tutorial. > > I view Sage as already being a "student mode" version of GAP. ;-) > But systematically improving error messages should be an easy project > with a lot of benefit. > > Some other ideas I've had: > > (a) Implement equivalence relations. Maybe not the biggest payoff, > but it looks like GAP has a lot of support for this. > > (b) All subgroups of a group (not just conjugacy class > representatives). > > (c) Quotient groups whose elements are the actual cosets, rather than > a new permutation group isomorphic to the quotient group. > > (d) Improved Cayley tables. #2 on my Sage list and I'm fairly far > along on this already. So maybe soon. > > (e) All Sylow subgroups, not just one. > > Rob > > On Mar 8, 3:57 pm, Mike OS <mosul...@math.sdsu.edu> wrote: > > > > > I have some funding from my university to develop > > materials in SAGE for use in my classes. I've hired > > two sharp students, one with a good deal of programming experience, > > to work on the project. I have two inter-related goals > > 1. Help to make SAGE more accessible to students: > > Develop tutorials, materials for use in class, and > > assignments/explorations. > > > 2. Contribute to SAGE development. > > > This post concerns the educational issues. A post to sage-devel has > > some > > observations and questions about item 2. Our focus right now is on > > group theory. > > > For both items we are anxious to have some guidance and > > collaboration to make our effort broadly useful. > > > We have started a tutorial, once it's a bit more polished I'll post a > > link. > > (We've looked at others on the web, and are borrowing ideas, thank > > you.) > > > Here is my wish list for using SAGE in courses, I'm interested in > > hearing comments: > > > A. I'd like elements of A= AbelianGroup( [2,3,4]) to be shown as 3- > > tuples. > > Currently GAP notation is used, so (1,2,1) is f0*f1^2*f2. > > I'd like to write A(1,2,3) to coerce a 3-tuple into A. > > > B. There is some functionality lacking in SAGE, that it would be very > > nice to have > > This gets to the development issues, and the relationship with > > GAP, so I'll > > just mention a few things. > > - Some types of groups are absent or difficult to use in SAGE: > > Finitely Presented Groups, > > Unit Group of a Ring (e.g. U_n and F_p[x]/f(x) ). I'm not sure > > how to make a direct product. > > - Matrix groups don't have subgroups implemented. > > - I like to introduce homomorphisms early and use homomorphsism > > between different > > types of groups. This appears to be difficult. > > > C. I would like a "student mode" that would be less intimidating to > > the user: > > -Reduce the number of functions that appear on tab completion. > > For a permutation > > group there are 122 completions. Perhaps 20-40 are within the > > vocabulary of an > > undergrad. > > -Simplify error messages. -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org