Thanks a lot!  It turned out that init_vprinting() gives the behavior I 
wanted.

In case others want to go down this path, I am appending a minimal notebook 
entry which shows the syntax.  I am really impressed that diff(L, xdot) 
just works, and that I can use solve to get algebraic expressions for 
velocities and accelerations.

One additional question - is there a better way to get the time variable 
than  dynamicsymbols._t ?  I look at that leading underscore as an 
indication that I shouldn't be touching it from user code.

------------------

In [1]:

from sympy.physics.vector import dynamicsymbols
from sympy import diff, symbols, S
from sympy.physics.vector import init_vprinting
 
init_vprinting()
 
# Simplest test case .. particle of mass m in uniform gravitational field g
x = dynamicsymbols('x')
t = dynamicsymbols._t
xdot = diff(x,t)
m, g = symbols('m g')
 
T = (m * xdot**2)/S(2) #kinetic energy
V = m*g*x # potential energy is just mgh
L = T - V
 
#Euler-Lagrange equation
diff(L, xdot,t) - diff(L,x)


Out[1]:
gm+mx¨





On Wednesday, August 13, 2014 10:24:47 PM UTC-7, Jason Moore wrote:
>
> Oh, you should use
>
> sympy.physics.vector.init_printing() 
>
> If you want the dot notation in latex in your notebooks.
>
>
> Jason
> moorepants.info
> +01 530-601-9791
>
>
> On Wed, Aug 13, 2014 at 10:23 PM, Jason Moore <[email protected] 
> <javascript:>> wrote:
>
>> You can subclass a printer and have it do what you want. You can see here:
>>
>>
>> https://github.com/sympy/sympy/blob/master/sympy/physics/vector/printing.py#L145
>>
>> where we subclass the latex printer and get the \dot{} notation for 
>> derivatives, for example. There is also an example here:
>>
>> http://docs.sympy.org/dev/modules/printing.html
>>
>> of subclassing to do custom derivative printing. Maybe exactly what you 
>> want.
>>
>> The LagrangesMethod in sympy.physics.mechanics works with the classes 
>> available in that package (RigidBody, ReferemceFrame, etc). The other one 
>> is more basic math. So if you want to write all the math yourself then 
>> maybe the later is preferable, but if you want to use the objects in 
>> sympy.physics.mechanics to build up a rigid body system and find the 
>> equations of motion, the use the former.
>>
>>
>> Jason
>> moorepants.info
>> +01 530-601-9791
>>  
>>
>> On Wed, Aug 13, 2014 at 10:13 PM, Rathmann <[email protected] 
>> <javascript:>> wrote:
>>
>>> Hello,
>>>
>>> I have been watching the lectures of Susskind's "Theoretical Minimum" 
>>> course, and using Sympy with IPython notebook to take notes, and work 
>>> through some of the examples.
>>>
>>> Sympy is serious overkill for this purpose, but overall it has been 
>>> working well.
>>>
>>> A couple of questions:
>>>
>>>    - What is the best way to deal with dynamics variables and the dot 
>>>    convention for printing? (In physics, the first time derivative of x is 
>>>    often written as \dot{x} instead of dx/dt.)  Is there an easy way to 
>>>    get IPython notebook to print dynamics variables using the dot 
>>> convention, 
>>>    and still give the nice LaTeX-rendered equations?  If I use vprint (from 
>>>    physics.vector), I get the variables  with primes, but just a text 
>>>    rendering of the equations. 
>>>    - I notice sympy.physics.mechanics.LagrangesMethod and 
>>>    sympy.calculus.euler.euler_equations both implement Lagrangian 
>>> mechanics. 
>>>    Is one of these more "official"  than the other?  Both seem to work for 
>>> the 
>>>    very simple examples I have tried. 
>>>
>>> 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] <javascript:>.
>>> To post to this group, send email to [email protected] 
>>> <javascript:>.
>>> 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/fe1737e3-3b19-40e5-8983-5d64bfad8e2f%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/sympy/fe1737e3-3b19-40e5-8983-5d64bfad8e2f%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 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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/01672cdb-e3fe-4a9c-9aa5-c8ab16d5527f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to