Well, representation theory is a part of mathematics which maps a matrix to a small representation which is easily computable than those big matrix. This is also related to block diagonalization. Otherwise Karatsuba fast multiplication and strassen’s algo can be used for reducing complexity from n^3 to n^1.52.
Sent from Mail for Windows 10 From: Jason Moore Sent: 12 March 2019 01:26 To: [email protected] Subject: Re: [sympy] Gsoc Project idea " Efficient Equation of MotionGeneration with Python" discussion. moorepants.info +01 530-601-9791 On Mon, Mar 11, 2019 at 11:44 AM Shiksha Rawat <[email protected]> wrote: Hello, I am Shiksha , a second-year undergrad from India. I have been contributing to Sympy for more than a month now. While going through Gsoc Ideas page, I found Efficient Equation of Motion Generation with Python interesting.I had a subject on engineering mechanics in college and I would be pleased if I get a chance to work on it. Following are some tasks I want to work on: Cleaning Up The CodeBase- Going through the files like vector.py, particle.py , frame.py on which Lagrange.py depends I found that there are a number of ways by which we can speed up their computations like enumeration is used at places where it is not required. Yes this is fine. Profiling To Find Slow Functions: Matrices operations take large computation time so I think they can we replaced at feasible places with some other data structures. Matrix operations are likely the best you will get, but we can use more efficient matrix calcs if we know the structure and type of matrics. Many matrics in EoM derivation are always positive definitive, symmetric, or semi-positive definite, etc. You can see a couple of mechanics benchmarks here: http://www.moorepants.info/misc/sympy-asv/ Extensive profiling needs to be done on a variety of mechanics problems (big ones preferably) and many speed ups can be made to core algorithms in SymPy that will affect mechanics (and other modules too). I am still going through the works done in sympy.mechanics and would draft a refined proposal over this and the suggestions I receive. Since it is mentioned in the status of that idea that no work is done so far, I am not sure where should I start from.I would love to hear from mentors as they are more familiar with the topic. Links to the issues which I have solved(though not related to current idea): https://github.com/sympy/sympy/pull/15842 https://github.com/sympy/sympy/pull/15901 Thanks. -- 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 https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKVsmS4c_LKAxJ2OoZ%2BjKKcYLyGL45A2s1DfP8g7BT1c-1B%2Bgg%40mail.gmail.com. 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 https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAP7f1AhW07dHr8js%3DNf14DB_azYttbkKY-5mn4ChxGUU0t_pPg%40mail.gmail.com. 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 https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/5c86be5b.1c69fb81.630b9.8d92%40mx.google.com. For more options, visit https://groups.google.com/d/optout.
