Hi,

I am trying to identify the main bottleneck in sympy.mechanics for
bigger problems.
So I took the bicycle problem:

https://github.com/sympy/sympy/pull/2182

ran it, and it looks like the majority of time is spent on the line:

    forcing_lin = KM.linearize()[0]

To get a better idea on what sorts of expressions we are dealing with,
I have saved KM._fr[0] into a text file:

https://gist.github.com/certik/6170161

It has over 80,000 operations. Now, what exact operation are we doing with this?
I've been trying to understand the code of KM.linearize(), but it's
not clear to me.

I assume you need to take a derivative with respect to "t"? What else?
Are we multiplying this with some other expression of similar size?
I would like to create a real life benchmark out of this, of your real
expression + an operation that needs to be done and is slow. So that I
can try for example Mathematica or some other CAS to get an idea about
how fast one can get. As such, I want just some simple calculus
operation, like second derivative or something else that is
representative.

Thanks a lot,
Ondrej

P.S. I recently revived a C++ core (https://github.com/certik/csympy),
and I want to benchmark it on something real life, as opposed to
artificial benchmarks.

-- 
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 http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to