Hi Aaron, I have submitted the first iteration of my proposal here <https://github.com/sympy/sympy/wiki/GSoC-2015-:-Finitely-presented-groups-in-Sympy>. Please take a look and leave a comment.
Thanks, kaushik On Tuesday, February 3, 2015 at 3:58:16 AM UTC+5:30, vamsi kaushik wrote: > > >To be clear, I don't think that a Module class should necessarily > subclass an AbelianGroup class. Using subclasses to represent shared > relationships between mathematical objects is tricky. > > That was what I was thinking, but couldn't say it properly.The idea of > decomposing the Module into abelian groups seems to be a good idea. But its > not something that had seen on other CAS systems before, but i really like > it. > > Regarding the group theory another important addition I would like to make > to the current AGCA module is StructureDescription() which would act like a > man page every time. like for example: > `StructureDescription(Group)` would print: > 1 : trivial group > C(size) : cyclic group > S(degree) : Symmetric group > .... and so on all the group structures and a small description. This can > be extended to other structures like modules and any other. > And a similar addition to my group theory module, like some more > descriptive. > > Currently I am following `An introduction to theory of groups`. > > What do you think ? > > kaushik > > > On Mon, Feb 2, 2015 at 4:21 AM, Aaron Meurer <[email protected]> wrote: > >> To be clear, I don't think that a Module class should necessarily >> subclass an AbelianGroup class. Using subclasses to represent shared >> relationships between mathematical objects is tricky. I personally don't >> think of every module as being an Abelian group. I think of every module as >> containing an Abelian group as part of its structure. Mathematically we >> might say a module is a triple (R, M, *) where R is a unital ring, M is an >> Abelian group, and *: R x M -> M is an operation satisfying some >> identities. >> >> From a programming perspective, I would expect an AbelianGroup object to >> have a lot of methods on it that are very group theoretic, and it would be >> distracting at best to have these methods all be inherited directly into a >> Module object. I would rather expect to be able to do something like >> M.as_abelian_group().some_group_theory_method. >> >> Aaron Meurer >> >> >> On Sun, Feb 1, 2015 at 3:32 PM, vamsi kaushik < >> [email protected]> wrote: >> >>> Hi Aaron >>> >>> >I don't remember if I mentioned this earlier, but for Abelian groups, >>> we should try to reuse as much of the stuff from the AGCA module as >>> possible. It already implements a lot of what you are suggesting for >>> modules, and since Abelian groups are just Z-modules >>> >>> I completely agree. >>> >>> > Perhaps we should structure the classes along the definition of a >>> module that a module is a ring and an Abelian group, IMHO, Abelian >>> groups are better thought of in terms of module theory than group theory, >>> but it would be nice to have a group theory interface on top of Z-modules. >>> >>> I am not quite sure about this. I might be completely wrong, but just my >>> two cents: Module theory is more about ring action like group actions >>> rather than the group itself, like vector spaces for fields. So by >>> definition even though ring action over an abelian group is a module ( If >>> that is what you meant by "Ring and abelian group"), I think we should >>> better not use this as a subclass structure because they are fundamentally >>> different. And moreover I feel Module theory should be left aside to study >>> ring actions extensively, while being able to have their representations in >>> group theory as well. Like you said Z-modules can inherit a lot from >>> AbelianGroups while still being a part of module theory. Again I have >>> little knowledge of ring theory so clarify me if I am wrong. what do you >>> think ? >>> >>> > so that the Z-module representation is just an extension of the >>> Abelian group representation (rather than the other way around). >>> Yes. >>> >>> > Take a look at the AGCA stuff and see what you think. >>> It looks a lot like what I had in mind. Though I din't read every line >>> of it, I am sure it would be a lot helpful for me and will focus more when >>> I start implementing. >>> >>> I have few doubts, >>> >>> What do you think so far ? >>> Are there any areas in group theory where sympy would like to focus ? >>> >>> Thanks, >>> kaushik >>> >>> On Sun, Feb 1, 2015 at 6:01 AM, Aaron Meurer <[email protected]> wrote: >>> >>>> I don't remember if I mentioned this earlier, but for Abelian groups, >>>> we should try to reuse as much of the stuff from the AGCA module as >>>> possible. It already implements a lot of what you are suggesting for >>>> modules, and since Abelian groups are just Z-modules. IMHO, Abelian groups >>>> are better thought of in terms of module theory than group theory, but it >>>> would be nice to have a group theory interface on top of Z-modules. >>>> >>>> Perhaps we should structure the classes along the definition of a >>>> module that a module is a ring and an Abelian group, so that the Z-module >>>> representation is just an extension of the Abelian group representation >>>> (rather than the other way around). Take a look at the AGCA stuff and see >>>> what you think. >>>> >>>> Aaron Meurer >>>> >>>> On Sat, Jan 31, 2015 at 4:19 PM, Joachim Durchholz <[email protected]> >>>> wrote: >>>> >>>>> Am 31.01.2015 um 00:01 schrieb vamsi kaushik: >>>>> >>>>>> Hi Aaron, >>>>>> >>>>>> Thanks for the interest. I had actually created a rough draft of my >>>>>> proposal. But I am very doubtful it has the minute implementation >>>>>> details. >>>>>> However I had outlined my idea very briefly in the wiki here >>>>>> <https://github.com/kaushik94/Proposal/wiki>. >>>>>> >>>>> >>>>> That looks like a lot of thought and code reading went into it, which >>>>> is great. >>>>> >>>>> What's the reasoning behind not subclassing from magma/semi-group? >>>>> >>>>> Regards, >>>>> Jo >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "sympy" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To post to this group, send email to [email protected]. >>>>> Visit this group at http://groups.google.com/group/sympy. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/sympy/54CD54F9.5060201%40durchholz.org >>>>> . >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "sympy" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/sympy/xH18C-g-ySQ/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> To post to this group, send email to [email protected]. >>>> Visit this group at http://groups.google.com/group/sympy. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/sympy/CAKgW%3D6KfH6Bw%3D2yfS6R1iBjHeXC10On_Uk4gr6sNBqyiWDM6Bw%40mail.gmail.com >>>> >>>> <https://groups.google.com/d/msgid/sympy/CAKgW%3D6KfH6Bw%3D2yfS6R1iBjHeXC10On_Uk4gr6sNBqyiWDM6Bw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "sympy" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at http://groups.google.com/group/sympy. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sympy/CAK61vZooxm6N%2BmNaUCeRKoDkziCYw%3D3At_FGH6MCwd2spjze%3DA%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/sympy/CAK61vZooxm6N%2BmNaUCeRKoDkziCYw%3D3At_FGH6MCwd2spjze%3DA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "sympy" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/sympy/xH18C-g-ySQ/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/sympy. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/sympy/CAKgW%3D6KZowdcKBPa-SouHArANu9c2tnQTQkmze04dbLm0uWinw%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/sympy/CAKgW%3D6KZowdcKBPa-SouHArANu9c2tnQTQkmze04dbLm0uWinw%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/f94772b0-b74a-4e7d-a9b3-62241e111ecb%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
