I think that you should add a new method like **intersect**. I'm sure that intersections form a group, so it can be an another PermutationGroup, but union may not.
On Sunday, February 16, 2020 at 4:32:05 AM UTC+9, Mohit Gupta wrote: > > Hello everyone, > > I was thinking of Implementing *Permutation group triple product property* as > suggested by *S.Y. Lee* here (https://github.com/sympy/sympy/issues/18525 > <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fsympy%2Fsympy%2Fissues%2F18525&sa=D&sntz=1&usg=AFQjCNHTJWoVceOSjRoYApYMIW4GRmq7Bg> > ). > You can see more about it using these two links: > 1.)https://en.wikipedia.org/wiki/Triple_product_property > 2.)https://arxiv.org/pdf/1104.5097.pdf > > So there is one algorithm mentioned in here (2.) > https://arxiv.org/pdf/1104.5097.pdf Which is given below. > > Here *S, T, U *are *subgroups.* > > So I am expriencing some problem in implementation of this algorithm. > > - As we can see intersection is used here and till now sympy does not > contain any function for *intersection of two groups*. > - We can also see that here we are interested in finding whether the > intersection of two subgroups is *trivial* or not so maybe se can > avoid calculating intersection for of two groups. > - I was also thinking of using property "T*wo Normal Subgroups > Intersecting Trivially Commute Each Other*" ( > > https://yutsumura.com/two-normal-subgroups-intersecting-trivially-commute-each-other/) > > but this will work only for *Normal groups*. > > Can we have discussion that what should be the best approach here? > > def test(S, T, U): > if( T ∩ U = 1 ) then > if( S ∩ T · U = 1 ) then > return true; > fi; fi; > return false; > > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sympy/5ee2ae1a-4d78-4f1b-a7d3-7b311d8139d5%40googlegroups.com.
