GSoC 2014 : sympy.vector project

85 views
Skip to first unread message

Sachin Joglekar

unread,
Mar 13, 2014, 12:31:51 PM3/13/14
to sy...@googlegroups.com
Hello everyone.

I have put up my proposal for the SymPy/PyDy project on creating a general-purpose vector calculus module for sympy. It will be a continuation of the work that was done by Prasoon and I last summer, and hopefully I plan to conclude it this time (much of it is currently unmerged). The details of the project are in my proposal at this link.
@Ondrej, Aaron, Stefan - please give your inputs for the same.

Jason Moore

unread,
Mar 13, 2014, 1:20:25 PM3/13/14
to sy...@googlegroups.com
"A coordinate system is a mathematical concept that helps one describe points or vectors(directions) in space. A reference frame, on the other hand, is the extension of this concept to involve motion (time-dependent quantities). Coordinate Systems may be rotated/translated with respect to each other, but they are stationary."

I don't understand this. How can a coordinate system be rotated and translated yet be stationary. What is your definition of "motion"?

--
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 sympy+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/28a5bbe3-d6d7-40a7-ae9e-6665524bf116%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Sachin Joglekar

unread,
Mar 13, 2014, 1:29:08 PM3/13/14
to sy...@googlegroups.com
Okay my words may have been a little confusing. To explain the terms better-
rotated - oriented at a certain angle wrt the parent system
translated - the origin of the translated system has a non-zero position vector wrt the parent system

To put it more clearly, the orientation of the child system and the its origin's position vector are _not_ functions of time. Essentially, Prasoon's code does not deal with time at all. Its good to do simple vector calculus that does not involve time as a factor.
By motion, I meant a system whose orientation/translation wrt its parent change with time.


--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/ux3MVAc9jeQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.

Tim Lahey

unread,
Mar 13, 2014, 1:53:39 PM3/13/14
to sy...@googlegroups.com
I think it's necessary to have a reference frame that changes with
respect to time. Even something such as simple link can have a frame
that rotates with respect to the inertial frame. A rotating frame makes
dealing with the equations for a flexible link simpler. Plus, it's
useful for multi-body systems as well.

Cheers,

Tim.

On 13 Mar 2014, at 13:29, Sachin Joglekar wrote:

> Okay my words may have been a little confusing. To explain the terms
> better-
> *rotated* - oriented at a certain angle wrt the parent system
> *translated* - the origin of the translated system has a non-zero
> position
> vector wrt the parent system
>
> To put it more clearly, the orientation of the child system and the
> its
> origin's position vector are _not_ functions of time. Essentially,
> Prasoon's code does not deal with time at all. Its good to do simple
> vector
> calculus that does not involve time as a factor.
> By motion, I meant a system whose orientation/translation wrt its
> parent
> change with time.
>
>
> On Thu, Mar 13, 2014 at 10:50 PM, Jason Moore <moore...@gmail.com>
> wrote:
>
>> "A coordinate system is a mathematical concept that helps one
>> describe
>> points or vectors(directions) in space. A reference frame, on the
>> other
>> hand, is the extension of this concept to involve motion
>> (time-dependent
>> quantities). Coordinate Systems may be rotated/translated with
>> respect to
>> each other, *but* they are stationary."
>>
>> I don't understand this. How can a coordinate system be rotated and
>> translated yet be stationary. What is your definition of "motion"?
>>
>>
>> Jason
>> moorepants.info
>> +01 530-601-9791
>>
>>
>> On Thu, Mar 13, 2014 at 12:31 PM, Sachin Joglekar
>> <srjogl...@gmail.com
>>> wrote:
>>
>>> Hello everyone.
>>>
>>> I have put up my proposal for the SymPy/PyDy project on creating a
>>> general-purpose vector calculus module for sympy. It will be a
>>> continuation
>>> of the work that was done by Prasoon and I last summer, and
>>> hopefully I
>>> plan to conclude it this time (much of it is currently unmerged).
>>> The
>>> details of the project are in my proposal at this
>>> link<https://github.com/pydy/pydy/wiki/GSoC-2014-Application:-srjoglekar246:-sympy.vector-module>
>>> .
>>> @Ondrej, Aaron, Stefan - please give your inputs for the same.
>>>
>>> --
>>> 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 sympy+un...@googlegroups.com.
>>> To post to this group, send email to sy...@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/sympy.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/sympy/28a5bbe3-d6d7-40a7-ae9e-6665524bf116%40googlegroups.com<https://groups.google.com/d/msgid/sympy/28a5bbe3-d6d7-40a7-ae9e-6665524bf116%40googlegroups.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 a topic in
>> the
>> Google Groups "sympy" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/sympy/ux3MVAc9jeQ/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> sympy+un...@googlegroups.com.
>> To post to this group, send email to sy...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/sympy.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/sympy/CAP7f1Aj2UhWxRyD3bumZ-DnhHNgJ%3DZ6OJQVhWa9%3Dn3SQVhbDOg%40mail.gmail.com<https://groups.google.com/d/msgid/sympy/CAP7f1Aj2UhWxRyD3bumZ-DnhHNgJ%3DZ6OJQVhWa9%3Dn3SQVhbDOg%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 sympy+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/CALMMyxZY5ev5-b1gVMGc%3DYroHtw3QHb34W0fFZ3kt7pEdShNYg%40mail.gmail.com.

Sachin Joglekar

unread,
Mar 13, 2014, 1:56:14 PM3/13/14
to sy...@googlegroups.com
I agree. Hence, the classes I plan to build on top of Prasoon's core will have time-dependent functionality to support motion.



To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit

--
You received this message because you are subscribed to a topic in the
Google Groups "sympy" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/sympy/ux3MVAc9jeQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit

--
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 sympy+unsubscribe@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/ux3MVAc9jeQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sympy+unsubscribe@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.

Jason Moore

unread,
Mar 13, 2014, 2:05:41 PM3/13/14
to sy...@googlegroups.com
Ok, that is clearer. So your reference frame has a notion of time whereas, Prasoon's base classes only have notion of space. Correct?
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.

Sachin Joglekar

unread,
Mar 13, 2014, 2:07:11 PM3/13/14
to sy...@googlegroups.com
Correct. Thats the class structure as I see it.


To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.

Alan Bromborsky

unread,
Mar 13, 2014, 3:22:33 PM3/13/14
to sy...@googlegroups.com

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit

--
You received this message because you are subscribed to a topic in the
Google Groups "sympy" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/sympy/ux3MVAc9jeQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit

--
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 sympy+un...@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.

--
You received this message because you are subscribed to a topic in the Google Groups "sympy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sympy/ux3MVAc9jeQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sympy+un...@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
--
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 sympy+un...@googlegroups.com.

To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.

For more options, visit https://groups.google.com/d/optout.
For classical mechanics using spinors for rotating frames see "New Foundations for Classical Mechanics" by David Hestenes

Sachin Joglekar

unread,
Mar 14, 2014, 7:12:36 PM3/14/14
to sy...@googlegroups.com
Hello everyone. I have updated my proposal as per extensive inputs from Jason and Gilbert. It's been decided that retaining ReferenceFrame and Point as two different classes is more advantageous than combining them into a cluttered 'MovingRefFrame' class.
The most important part of the project now becomes to settle and perfect Prasoon's coordinate systems code, and then to build the managed-world/caching system. This would be a mutable 'global cache' that would help the module in remembering and manipulating information related to relative motion between frames - enabling the core objects to remain immutable, but yet modify their relationships to allow PyDy-style flexibility. All of the conceptual frame-trees would thus be stored in this managed world itself.

Sachin Joglekar

unread,
Mar 18, 2014, 4:07:37 AM3/18/14
to sy...@googlegroups.com
@Ondrej, Aaron - please have a look at my proposal on the wiki/melange website and lemme know if there are any clarifications needed. The implementation details have been modified since the first draft, after discussions with the PyDy team. However, since my work will result into a separate module for SymPy itself, your feedback is also appreciated. Thanks!


On Thursday, March 13, 2014 10:01:51 PM UTC+5:30, Sachin Joglekar wrote:
Reply all
Reply to author
Forward
0 new messages