[GSoC 2013] Group Theory

174 views
Skip to first unread message

Tarang Patel

unread,
Mar 24, 2013, 5:43:25 AM3/24/13
to sy...@googlegroups.com
Hello,
         I want to work for the idea of Group theory as a part of my GSoC 2013 project. I also satisfy the patch requirement for GSoC https://github.com/sympy/sympy/pull/1843
I have gone through the combinatorics module containing some of the implementations of group theory. The already implemented works of group theory are symmetric groups, 
alternating groups, dihedral groups, rubik cube, direct product of groups, abelian groups, permutation groups, polyhedron group.

        But still there are things that need to be implemented in discrete group and lie groups.I think it would be nice to have a module on Young tableaux,
representations of the symmetric group,and their relation to irreducible tensors in sympy. I want to implement it as a part of my GSoC project. I have done a course on Group theory in my last semester.
 I think this would be helpful for me to implement a module on Young Tableaux and orthogonal groups.

        Also I think, I can implement things like Orthogonal groups, Normal subgroup, homomorphisms of groups, isomorphisms of groups in group theory.
I want to know that are there any other things that needs to be implemented in group theory so that I start working on it ?

Thanks,
Tarang Patel

David Joyner

unread,
Mar 24, 2013, 6:57:00 AM3/24/13
to sy...@googlegroups.com
On Sun, Mar 24, 2013 at 5:43 AM, Tarang Patel <taran...@gmail.com> wrote:
> Hello,
> I want to work for the idea of Group theory as a part of my GSoC
> 2013 project. I also satisfy the patch requirement for GSoC
> https://github.com/sympy/sympy/pull/1843
> I have gone through the combinatorics module containing some of the
> implementations of group theory. The already implemented works of group
> theory are symmetric groups,
> alternating groups, dihedral groups, rubik cube, direct product of groups,
> abelian groups, permutation groups, polyhedron group.
>
> But still there are things that need to be implemented in discrete
> group and lie groups.I think it would be nice to have a module on Young
> tableaux,
> representations of the symmetric group,and their relation to irreducible
> tensors in sympy. I want to implement it as a part of my GSoC project. I


Can you give more details on this idea?


> have done a course on Group theory in my last semester.
> I think this would be helpful for me to implement a module on Young
> Tableaux and orthogonal groups.
> ( http://www.cns.gatech.edu/GroupTheory/chapters/draft.pdf ).
>
> Also I think, I can implement things like Orthogonal groups, Normal
> subgroup, homomorphisms of groups, isomorphisms of groups in group theory.
> I want to know that are there any other things that needs to be implemented
> in group theory so that I start working on it ?
>
> Thanks,
> Tarang Patel
>
> --
> 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 sympy+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy?hl=en-US.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Alan Bromborsky

unread,
Mar 24, 2013, 8:06:12 AM3/24/13
to sy...@googlegroups.com
You might find the attached paper of interest
Lie groups as spin groups - Doran, Hestenes, Sommen, Van Acker - 1993.pdf

Tarang Patel

unread,
Mar 24, 2013, 10:07:20 AM3/24/13
to sy...@googlegroups.com
On Sun, Mar 24, 2013 at 5:36 PM, Alan Bromborsky <abr...@verizon.net> wrote:
On 03/24/2013 06:57 AM, David Joyner wrote:
On Sun, Mar 24, 2013 at 5:43 AM, Tarang Patel <taran...@gmail.com> wrote:
Hello,
          I want to work for the idea of Group theory as a part of my GSoC
2013 project. I also satisfy the patch requirement for GSoC
https://github.com/sympy/sympy/pull/1843
I have gone through the combinatorics module containing some of the
implementations of group theory. The already implemented works of group
theory are symmetric groups,
alternating groups, dihedral groups, rubik cube, direct product of groups,
abelian groups, permutation groups, polyhedron group.

         But still there are things that need to be implemented in discrete
group and lie groups.I think it would be nice to have a module on Young
tableaux,
representations of the symmetric group,and their relation to irreducible
tensors in sympy. I want to implement it as a part of my GSoC project. I

Can you give more details on this idea?


 
      Regarding the implementation of Young Tableaux module, I think we can implement things like :
Given 'k' number of partitions.
>>> k=4
>>> Y=YoungTableaux.young_partition(k)
>>> Y
>>> [[4],[3,1],[2,2],[2,1,1],[1,1,1,1]]
>>> Yt=YoungTableaux.young_transpose([3,1])
>>> Yt
>>> [2,1,1]
>>> d=YoungTableaux.dimension([2,1,1])
>>> 3

Similarly, for a given k-box young diagram with given partition p, we can represent corresponding standard Young Tableaux by YoungTableaux(p). It will be somewhat difficult to implement.

Also, Young Tableaux are useful for labeling irreps of various groups.
(1) The k-box Young diagrams label all irreps of the corresponding symmetric group Sk.

(2) The standard tableaux of k-box Young diagrams with no more than n rows
label the irreps of GL(n).

(3) The standard tableaux of k-box Young diagrams with no more than n − 1
rows label the irreps of SL(n).

This is how I am thinking of implementing the module on Young Tableaux. Any suggestion or help would be really helpful.

I know it seems somewhat vague at this stage but I will make it clear and concrete soon.



have done a course on Group theory in my last semester.
  I think this would be helpful for me to implement a module on Young
Tableaux and orthogonal groups.
( http://www.cns.gatech.edu/GroupTheory/chapters/draft.pdf ).

         Also I think, I can implement things like Orthogonal groups, Normal
subgroup, homomorphisms of groups, isomorphisms of groups in group theory.
I want to know that are there any other things that needs to be implemented
in group theory so that I start working on it ?

Thanks,
Tarang Patel

--
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

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


You might find the attached paper of interest
--
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 sympy+unsubscribe@googlegroups.com.

Ramana Venkata

unread,
Mar 24, 2013, 11:39:30 AM3/24/13
to sy...@googlegroups.com
Actually we don't have a generic group object as you may have know. Do you have plans of implementing it? Can you specifically tell in what context you said you can implement Orthogonal groups, Normal subgroup, Homomorphisms of group etc.,  Is it just for the permutation groups?? Something which needs to be implemented in the present module are Coset enumeration by the Todd-Coxeter algorithm,  Finitely presented groups and algorithms relating to them.

Tarang Patel

unread,
Mar 24, 2013, 11:41:14 PM3/24/13
to sy...@googlegroups.com
On Sun, Mar 24, 2013 at 9:09 PM, Ramana Venkata <idlike...@gmail.com> wrote:
Actually we don't have a generic group object as you may have know. Do you have plans of implementing it? Can you specifically tell in what context you said you can implement Orthogonal groups, Normal subgroup, Homomorphisms of group etc.,  Is it just for the permutation groups??

Yes, I told in context to permutation groups. We can have the concept of normal subgroup etc. for 
permutation groups. 
 
Something which needs to be implemented in the present module are Coset enumeration by the Todd-Coxeter algorithm,  Finitely presented groups and algorithms relating to them.

Ok, I will look at that too and will implement it.
Thanks.




On Sunday, March 24, 2013 3:13:25 PM UTC+5:30, Tarang Patel wrote:
Hello,
         I want to work for the idea of Group theory as a part of my GSoC 2013 project. I also satisfy the patch requirement for GSoC https://github.com/sympy/sympy/pull/1843
I have gone through the combinatorics module containing some of the implementations of group theory. The already implemented works of group theory are symmetric groups, 
alternating groups, dihedral groups, rubik cube, direct product of groups, abelian groups, permutation groups, polyhedron group.

        But still there are things that need to be implemented in discrete group and lie groups.I think it would be nice to have a module on Young tableaux,
representations of the symmetric group,and their relation to irreducible tensors in sympy. I want to implement it as a part of my GSoC project. I have done a course on Group theory in my last semester.
 I think this would be helpful for me to implement a module on Young Tableaux and orthogonal groups.

        Also I think, I can implement things like Orthogonal groups, Normal subgroup, homomorphisms of groups, isomorphisms of groups in group theory.
I want to know that are there any other things that needs to be implemented in group theory so that I start working on it ?

Thanks,
Tarang Patel

--
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 sympy+un...@googlegroups.com.

Tarang Patel

unread,
Apr 13, 2013, 5:36:04 AM4/13/13
to sy...@googlegroups.com
Hello, 
      After discussing here about Group Theory project, I worked on my Group Theory project and have made my tentative proposal for GSoC 2013 Group Theory project and added to the wiki. It would be nice, if someone review it and guide me about my proposal and the project.


Thanks,
Tarang Patel

David Joyner

unread,
Apr 13, 2013, 9:16:14 AM4/13/13
to sy...@googlegroups.com
On Sat, Apr 13, 2013 at 5:36 AM, Tarang Patel <taran...@gmail.com> wrote:
Hello, 
      After discussing here about Group Theory project, I worked on my Group Theory project and have made my tentative proposal for GSoC 2013 Group Theory project and added to the wiki. It would be nice, if someone review it and guide me about my proposal and the project.


Thanks,
Tarang Patel


Have you read [1]?
In general, which books on group theory have you read?

Do you know that quotients G/H only form a group when H is normal in G?
How do you plan on representing the elements of G/H?
Are you going to return conjugacy classes or simply representatives of them?
If simply reps, how will they be selected?
Will your representations be deterministic or random?

Generally speaking, your description lacks details.

Tarang Patel

unread,
Apr 13, 2013, 11:13:24 AM4/13/13
to sy...@googlegroups.com
On Sat, Apr 13, 2013 at 6:46 PM, David Joyner <wdjo...@gmail.com> wrote:



On Sat, Apr 13, 2013 at 5:36 AM, Tarang Patel <taran...@gmail.com> wrote:
Hello, 
      After discussing here about Group Theory project, I worked on my Group Theory project and have made my tentative proposal for GSoC 2013 Group Theory project and added to the wiki. It would be nice, if someone review it and guide me about my proposal and the project.


Thanks,
Tarang Patel


Have you read [1]?
In general, which books on group theory have you read?
 I have read I.N. Herstein "Topics in Algebra", and some the concepts from [1] and [2].
 I am reading [1] and [2] at present. 
 
Do you know that quotients G/H only form a group when H is normal in G?

Yes, N should be normal to form G/H factor group. H should be the normal subgroup of G to form factor group. 
 
How do you plan on representing the elements of G/H?

Actually, G/H is the set of cosets of Normal subgroup H in G. So, Instead, I think, I will represent the permutation group  which is isomorphic to the corresponding factor group (G/H).

Are you going to return conjugacy classes or simply representatives of them?
Yes, the representatives of each of the conjugacy classes. I should change the name of method to conjugacy_classes_representatives(). It will return the list of representatives of each conjugacy classes of G.
    
If simply reps, how will they be selected? 
Will your representations be deterministic or random?
Hence, as conjugacy_classes_representatives() returns the list of representatives of each conjugacy class, it will be deterministic and each representations can be accessed and selected specifically.
 
Generally speaking, your description lacks details.
Thank you for the guidance. I will add the lacking details and modify my proposal.

Tarang Patel

unread,
Apr 14, 2013, 11:31:46 PM4/14/13
to sy...@googlegroups.com
On Sat, Apr 13, 2013 at 8:43 PM, Tarang Patel <taran...@gmail.com> wrote:



On Sat, Apr 13, 2013 at 6:46 PM, David Joyner <wdjo...@gmail.com> wrote:



On Sat, Apr 13, 2013 at 5:36 AM, Tarang Patel <taran...@gmail.com> wrote:
Hello, 
      After discussing here about Group Theory project, I worked on my Group Theory project and have made my tentative proposal for GSoC 2013 Group Theory project and added to the wiki. It would be nice, if someone review it and guide me about my proposal and the project.


Thanks,
Tarang Patel


Have you read [1]?
In general, which books on group theory have you read?
 I have read I.N. Herstein "Topics in Algebra", and some the concepts from [1] and [2].
 I am reading [1] and [2] at present. 
 
Do you know that quotients G/H only form a group when H is normal in G?

Yes, N should be normal to form G/H factor group. H should be the normal subgroup of G to form factor group. 
 
How do you plan on representing the elements of G/H?

Actually, G/H is the set of cosets of Normal subgroup H in G. So, Instead, I think, I will represent the permutation group  which is isomorphic to the corresponding factor group (G/H).

Are you going to return conjugacy classes or simply representatives of them?
Yes, the representatives of each of the conjugacy classes. I should change the name of method to conjugacy_classes_representatives(). It will return the list of representatives of each conjugacy classes of G.
    
If simply reps, how will they be selected? 
Will your representations be deterministic or random?
Hence, as conjugacy_classes_representatives() returns the list of representatives of each conjugacy class, it will be deterministic and each representations can be accessed and selected specifically.
 
Generally speaking, your description lacks details.
Thank you for the guidance. I will add the lacking details and modify my proposal.

I have made some changes in the section of factor group and conjugacy class representatives in my proposal. I will add further details, if it is still lacking.

David Joyner

unread,
Apr 15, 2013, 5:55:09 AM4/15/13
to sy...@googlegroups.com
This seems too ambitious.
My guess is that "Implementation of cohomology and homology of groups" would take several summers.
You allow 2 weeks.
Are abelian extensions of the rationals implemented in Sympy? My guess is that "Implementation of 
character table for permutation groups. " would take the same amount of time. However, one needs 
those number fields to represent the character values. The implementation in GAP and Sage uses
a large "table of marks" database (the tom files). I don't know if these are licenced BSD or what the
Sympy maintainers' policy if on adding databases to the Sympy distribution. 
I think doing coset reps and quotient groups correctly and well is enough for one summer and if you 
finish that and can do more, then great.
By the way, no one has implemented abelian groups (both additive and multiplicative). That alone is a hard
project to do well. 

Hope that helps.

Tarang Patel

unread,
Apr 15, 2013, 6:24:06 AM4/15/13
to sy...@googlegroups.com
On Mon, Apr 15, 2013 at 3:25 PM, David Joyner <wdjo...@gmail.com> wrote:
This seems too ambitious.
My guess is that "Implementation of cohomology and homology of groups" would take several summers.
You allow 2 weeks.
Are abelian extensions of the rationals implemented in Sympy?
No, it is not yet implemented in SymPy. 
My guess is that "Implementation of character table for permutation groups. " would take the same amount of time. However, one needs 
those number fields to represent the character values. The implementation in GAP and Sage uses
a large "table of marks" database (the tom files). I don't know if these are licenced BSD or what the
Sympy maintainers' policy if on adding databases to the Sympy distribution. 
I think doing coset reps and quotient groups correctly and well is enough for one summer and if you 
finish that and can do more, then great.
By the way, no one has implemented abelian groups (both additive and multiplicative). That alone is a hard
project to do well. 

Hope that helps.

Thank you sir for the help. I will exclude the implementation of cohomology and homology of groups and the character table from the proposal and will focus on quotient groups and coset reps. 
Reply all
Reply to author
Forward
0 new messages