I mean numpy.

On Thu, Mar 14, 2019 at 3:00 PM Shiksha Rawat <[email protected]>
wrote:

> Will importing sympy and using it for computations be helpful here ?
>
> On Thu, Mar 14, 2019 at 2:38 PM Oscar Gustafsson <
> [email protected]> wrote:
>
>> I am personally not convinced that Karatsuba, Coppersmith-Winograd and
>> Strassen will provide much help here. Basically because only rarely, the
>> size of the problem is the main issue. These algorithms show excellent
>> asymptotic behaviour, but also has an overhead which leads to that quite
>> large problems are needed to actually see a speedup in practice. I can
>> imagine Karatsuba being useful for (non-sparse) polynomial multiplication,
>> but most likely not the other ones, at least for the typical problem sizes
>> I can imagine that people are working with symbolically. In addition, one
>> should investigate the complexity difference between a multiplication and
>> an addition in SymPy. My guess is that the overhead from everything except
>> for the actual computation is much higher than the computation itself and
>> these algorithms (primarily) reduce the number of multiplications and the
>> expense of additions.
>>
>> (For the record: Karatsuba decreases multiplication from n^2 to n^1.52,
>> Strassen matrix multiplication from n^3 to n^2.83, and Coppersmith-Winograd
>> matrix multiplication for n^3 to n^2.376. For Coppersmith-Winograd I
>> requote from Wikipedia: "However, unlike the Strassen algorithm, it is not
>> used in practice because it only provides an advantage for matrices so
>> large that they cannot be processed by modern hardware.", and this is for
>> numbers, not symbolic computation, which require even more resources.)
>>
>> BR Oscar
>>
>> Den tis 12 mars 2019 kl 16:55 skrev Shiksha Rawat <
>> [email protected]>:
>>
>>> 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
>>> <https://groups.google.com/d/msgid/sympy/CAKVsmS5fEy1g-nwLikObhvLb3ZG6hgZnqTT1gwbCVOMV%3DWn4QA%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/CAFjzj-LcJYs8EJ1WWiSNJKJi8sm_gXqfzTVxUC5DuFAFXh5peA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/sympy/CAFjzj-LcJYs8EJ1WWiSNJKJi8sm_gXqfzTVxUC5DuFAFXh5peA%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/CAKVsmS5SGswmENfyOmpCjke03NQArpQ%3DUqoSwFVOcHPqCq%3DUFA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to