Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Kalevi Suominen
    @jksuom
    Can you send the page on the computation of polycyclic presentation?
    Divyanshu Thakur
    @divyanshu132
    sympy6.png
    Have a look!
    Kalevi Suominen
    @jksuom
    Thanks. That looks ok to me.
    I think it can be merged.
    Divyanshu Thakur
    @divyanshu132
    Thanks!
    Kalevi Suominen
    @jksuom
    There is one more thing that you could work with. It would be useful to have more information in the docstrings of classes and their methods. In particular, "Parameters" could be added. We generally follow the numpy conventions as explained here.
    There are some differences. Double backticks instead of single ones for variables, for example, and ===== for underlining (with exactly the same length).
    Divyanshu Thakur
    @divyanshu132
    Ok, I'll try!
    Divyanshu Thakur
    @divyanshu132
    @jksuom I've opened a PR on extending the docstrings of polycyclic groups. Have a look sympy/sympy#17476
    Kalevi Suominen
    @jksuom
    Ok, thanks.
    Divyanshu Thakur
    @divyanshu132
    \{ is generating error, can't we use escape sequence in docstrings?
    Kalevi Suominen
    @jksuom
    It should be possible if the docstring is raw: r""" ... """.
    Divyanshu Thakur
    @divyanshu132
    oohh!
    Divyanshu Thakur
    @divyanshu132
    @jksuom I've added the final report, please have a look and let me know if anything needs improvement https://github.com/sympy/sympy/wiki/GSoC-2019-Report
    Kalevi Suominen
    @jksuom
    Ok. I'll do that tomorrow.
    Divyanshu Thakur
    @divyanshu132
    Ok!
    Kalevi Suominen
    @jksuom
    That looks fine to me. (Though I'm not sure of the word "whosoever".) I think that google would expect a link to the actual report https://github.com/sympy/sympy/wiki/GSoC-2019-Report-Divyanshu-Thakur:-Group-Theory. I'll have to check the instructions.
    Divyanshu Thakur
    @divyanshu132
    I'll replace the word "whosoever".

    I think that google would expect a link to the actual report

    Okay!

    Divyanshu Thakur
    @divyanshu132
    @jksuom thanks a lot for the help during this project. You taught me a lot of things, you were so nice throughout the journey and answered my all the silly questions. Once again thanks for your time!!
    Kalevi Suominen
    @jksuom
    Thanks. The subject of polycyclic groups was probably harder than you expected as the handbook does not deal with the creation of polycyclic presentations. It seems that GAP was not helpful either.
    Divyanshu Thakur
    @divyanshu132
    That's right, Thanks!
    Mohit Gupta
    @mohitacecode
    Hello everyone, My name is Mohit Gupta I will directly come to point I want to work on Group Theory module in GSOC 2020.I have seen the idea page of Group Theory and saw the following things are unImplemented
    • Computation of various subgroups of infinite finitely presented groups
    • Computation of Galois groups for a given polynomial
    • Finding kernels of homomorphisms with infinite domains
    • Extend functionalities of polycyclic groups
    • Quotient groups
    • Automorphism groups
      I also have some Ideas that I want to add such as :
    • Triple Product Property (https://en.wikipedia.org/wiki/Triple_product_property) we can do it for both groups and sets.
    • Normal Groups - While learning about Triple Product Property I also found that currently we do not have Implemented Normal subgroups so maybe this will be a new addition.
    • Intersection of subgroups
      This is not the final ideas I have just briefed I am still researching and going through code base.(will be able to spend more time once my exams get overed.
      I am working in sympy from Jan 2020. Any suggestions are welcome. Please tell if any there are any stalled Pr or where I can start the work from .
      @jksuom @divyanshu132 @asmeurer @RavicharanN
    Kalevi Suominen
    @jksuom
    Have you also been thinking about possible implementations? I seems to me that there is time for only a few of those topics in one summer.
    Mohit Gupta
    @mohitacecode
    Actually these were the things that I have seen or noticed while working in sympy.
    Yeah you are right I think we have to select only few ideas out of them that can be possibly completed in a summer.I am still working to narrow down this list (I will come up with much more descriptive and sensible list asap my universities exam gets over).
    I was looking for your insight that what do you think about the ideas and what can be improved or removed to make a balanced amount of work for summer.
    Kalevi Suominen
    @jksuom
    About normal subgroups. Normality is a property. Either a subgroup is normal or it is not so there is no special implementation. What could be implemented is a normality test. I would look into GAP to see what was implemented there.
    Kalevi Suominen
    @jksuom
    • Computation of various subgroups of infinite finitely presented groups
      Can you elaborate on this?

    • Computation of Galois groups for a given polynomial
      This is a whole new world, theory of algebraic numbers, not much group theory.

    • Finding kernels of homomorphisms with infinite domains
      Do you have some idea of how?

    • Extend functionalities of polycyclic groups
      Can you elaborate?

    • Quotient groups
      Of what kind of groups?

    • Automorphism groups
      Of what kind of structures?

    • Triple Product Property (https://en.wikipedia.org/wiki/Triple_product_property) we can do it for both groups and set
      Is there something to implement?

    • Intersection of subgroups
      This could be useful though I don't know of algorithms.

    Mohit Gupta
    @mohitacecode

    Triple Product Property (https://en.wikipedia.org/wiki/Triple_product_property) we can do it for both groups and set.
    Is there something to implement?

    As Triple Product Property is a property we have to just implement test for this.I have seen the various algorithms for this property here (https://arxiv.org/pdf/1104.5097.pdf) to save your time you can directly head over to page no. 6 and 7 and page 8 to see the efficiency of each algorithms.

    I think to implement this it would not take much time except few problems I am having :

    I have thoughts like:

    • what should we do when groups are not normal ?
    • Does Normal group property really be efficient there?
    Kalevi Suominen
    @jksuom
    Normality is essential for the commutativity to hold.
    Mohit Gupta
    @mohitacecode

    Normality is essential for the commutativity to hold.

    yes we can say that.(every subgroup of abelian group is normal)

    Mohit Gupta
    @mohitacecode
    I will elaborate the ideas above soon.(I need little time)
    Kalevi Suominen
    @jksuom
    The application of the triple product property seems to be to multiplication of numerical matrices. I think that NumPy implements that kind of algorithms. SymPy's matrices are typically symbolic which means that the acceleration methods devised for numerical matrices are generally not useful in SymPy. Consider, for example, two nxn matrices with entries a[i, j] and b[i, j]. The entries of their product are sums of n products. That makes n^3 products altogether, and there is no way to reduce the exponent 3.
    Mohit Gupta
    @mohitacecode
    Normality is essential for the commutativity to hold.
    By this you mean that it is essential for Triple Product Property?
    Mohit Gupta
    @mohitacecode

    The application of the triple product property seems to be to multiplication of numerical matrices. I think that NumPy implements that kind of algorithms. SymPy's matrices are typically symbolic which means that the acceleration methods devised for numerical matrices are generally not useful in SymPy. Consider, for example, two nxn matrices with entries a[i, j] and b[i, j]. The entries of their product are sums of n products. That makes n^3 products altogether, and there is no way to reduce the exponent 3.

    Yes It exactly focus on fast matrix multiplication and you seems right too.

    Mohit Gupta
    @mohitacecode
    But I wonder this may be usefull in other cases too? I don't have any examples now(I will look for it)
    Divyanshu Thakur
    @divyanshu132
    I think there is an existing method in SymPy to check the normality of permutation groups.
    Divyanshu Thakur
    @divyanshu132
    In addition to elaborating as Kalevi has pointed out, I would suggest you to get yourself familiar with the presentation of groups in SymPy may be you can try adding some small missing functionalities in that way you will have an idea of how much research it takes to add a small functionality . Eventually, you'll be able to figure it out how much of work can be done in a summer.
    Mohit Gupta
    @mohitacecode
    okay I will first look for adding small functionalities maybe I will get familiar with the code much faster this way and will be able to estimate the right and sufficient amount of work for one summer.

    I think there is an existing method in SymPy to check the normality of permutation groups.

    Yes It is there as is_normal.

    Mohit Gupta
    @mohitacecode

    Hello Kalevi,
    Good morning I was thinking about adding a functions to check whether a group is a hall subgroups or not (https://en.wikipedia.org/wiki/Hall_subgroup.

    Since we have all the required method that we need to implement a test for hall subgroups it will not take much time.
    this is the possible algorithm I am thinking:

    is_hall_subgroups(H,G):
        #We want to check if H is a hall subgroups and H is the subgroup of G where G should be a finite group.
        1.)check if G is a finite groups
        2.)find the order of H.(Ord)
        3.)find the index for H.(ind)
        4.)If gcd(Ord,Ind) is 1 then H is a hall_subgroup.(gcd = Greatest Common Divisor)
    Kalevi Suominen
    @jksuom
    Have you some idea of where it would be useful to know that a subgroup is Hall subgroup?
    Mohit Gupta
    @mohitacecode

    Sorry for late reply
    I suggest this because there was a Computation of Hall Subgroup idea proposed in last year gsoc proposal but due to time constraint it was not implemented So I was looking to implement that but while looking I found this hall subgroup property so i was thinking it may be helpfull to add it but after a thorough research I didnt find it helpfull.

    do we also need Computation of Hall Subgroup ?

    Kalevi Suominen
    @jksuom
    Hall subgroups are subgroups that have a certain property (which is easy to check). There is no specific Hall subgroup that could be computed.
    Mohit Gupta
    @mohitacecode
    I looked at GAP maybe the title Computation of Hall Subgroup (given in previous year proposal) disguiding I mean that HallSubgroup( G, P ): computes a P-Hall subgroup for a set P of primes. This is a subgroup the order of which is only divisible by primes in P and whose index is coprime to all primes in P.
    Kalevi Suominen
    @jksuom
    That is what sylow_subgroup does if there is exactly one prime in P. So that looks like a generalization.
    Mohit Gupta
    @mohitacecode
    just clarifying my doubt sylow_subgroup genrates a subgroup for any particular prime I think ?
    Mohit Gupta
    @mohitacecode

    HallSubgroup( G, P ) will generate a subgroup for a list of primes. maybe we can use sylow_subgroup and take intersection(not there now in sympy) for them.

    will HallSubgroup( G, P ) usefull for sympy?

    Kalevi Suominen
    @jksuom
    One often speaks of Sylow p-subgroups for a particular prime.