Thanks for the info Jason Moore and Vishesh Mangla.

I analyzed the mechanics benchmarks. Many  of the commits which are
increasing the computation time are related to ode, printing , matrices.

I tried to find to find substitute for them. I think LU Decompositon  is
used in lagrange.py whose time complexity is O(n^3). but it can be replaced
by better algo like
Coppersmith- Winograd Algorithm(time complexity O(n^2.376)).

Also as suggested by Vishesh Mangla, Karatsuba fast multiplication and
strassen’s algo can be used for reducing complexity from n^3 to n^1.52.

Please correct me if I am wrong. I am still analyzing the benchmarks and
trying to find substitutes for other algos.




On Tue, Mar 12, 2019 at 1:30 AM Vishesh Mangla <[email protected]>
wrote:

> 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 <https://go.microsoft.com/fwlink/?LinkId=550986> for
> Windows 10
>
>
>
> *From: *Jason Moore <[email protected]>
> *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
> <https://github.com/sympy/sympy/wiki/GSoC-2019-Ideas#classical-mechanics-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
> <https://groups.google.com/d/msgid/sympy/CAKVsmS4c_LKAxJ2OoZ%2BjKKcYLyGL45A2s1DfP8g7BT1c-1B%2Bgg%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 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
> <https://groups.google.com/d/msgid/sympy/CAP7f1AhW07dHr8js%3DNf14DB_azYttbkKY-5mn4ChxGUU0t_pPg%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 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
> <https://groups.google.com/d/msgid/sympy/5c86be5b.1c69fb81.630b9.8d92%40mx.google.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 https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKVsmS5fEy1g-nwLikObhvLb3ZG6hgZnqTT1gwbCVOMV%3DWn4QA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to