Hamilton-Poisson Manifolds and Classes

From a theoretical point of view a PB is part of a dynamic structure incorporating phase space properties and algebraic methods. We know that a PB is intrinsically connected with the phase space which is by its own a differentiable manifold. The manifold, respectively the phase space, is defined by the phase space variables q_k and p_k. In this phase space there live functions depending on the phase space variables, such as energy, momentum, angular momentum, etc. The PB for the set of variables q_k and p_k generate an algebraic structure on this manifold. Thus it is natural to separate the total phase space into the algebraic structure and the coordinates defined by the phase space variables. This separation allows us to introduce a concept which is known as object oriented representation. Objects in this representation are derived from classes which define a general view of the system. A class consists of properties and methods. In our case the properties are the phase space variables and the methods are the algebraic structure of the manifold. Thus we can use an object oriented representation of the PB which is defined by the class PoissonB

PB = Class["PoissonB", Class["Element"],  {description = "Poi ... w_List, Tnew_Symbol, Αnew_] := Block[{}, P = Pnew ; Q = Qnew ; Α = Αnew]} ]

- Class PoissonB -

The class PB is defined by means of the software package Elements` allowing to generate classes for objects. An object here is a specific form of PBs designed for a specific phase space. The following examples demonstrate how this software concept can be used to efficiently carry out calculations. Before we give some examples let us define a simpler notation for PBs.

Since we separated the phase space from its algebraic structure, we are able to replace the phase space coordinates by the phase space object. The following line defines a template for the Poisson bracket combining the poisson manifold as an object and the algebraic properties of the bracket.

Notation[{f_, g_} _obj_ ⟺ Dot[obj_, PoissonBracket[f_, g_]]]

1.1 A two Dimensional Poisson Manifold

Let us first examine phase spaces with two dimensions of freedom. For such a case we have two phases space variables, the coordinate q(t) and the momentum p(t). Functions in this manifold solely depend on these two coordinates.

The following line defines an object derived from the class PB for these two coordinates. The coordinates p and q are functions of time. The two-dimensional Poisson manifold is represented by the object pk.

pm = PB . new[{P {p[t]}, Q {q[t]}}]

- Object of PoissonB -

The package Elements` offers a function GetPropertiesForm[] to check the properties of a given object. The properties of the defined Poisson manifold are derived by

GetPropertiesForm[pm]

Property Value
description Poisson Braracket
P {p(t)}
Q {q(t)}
T t
Α {α→α}

This table shows that the momenta are given by the functions p(t) and the coordinates by q(t). In addition the manifold may depend on parameters which can be collected in the variable Α.

Let us assume we have a physical system characterized by its kinetic energy Tand its potential energy V given by

h = p(t)^2/(2 m) + V(q(t))

p(t)^2/(2 m) + V(q(t))

This is a Hamiltonian living on the defined Poisson manifold. Let us apply the poisson manifold to the two functions p(t) and q(t). The Poisson manifold in the Poisson bracket is given as a subscribe to the bracket.

{h, p(t)} _pm

V^′(q(t))

{h, q(t)} _pm

-p(t)/m

Here is another example for a general Hamiltonian H

{H(p(t), q(t)), q(t)} _pm

-H^(1, 0)(p(t), q(t))

A third example deals with a general Hamiltonian H and an arbitrary function f depending on the two coordinates of the manifold. The Poisson bracket of these two functions are

{α H(q(t), p(t)), f(q(t), p(t))} _pm

α (f^(0, 1)(q(t), p(t)) H^(1, 0)(q(t), p(t)) - H^(0, 1)(q(t), p(t)) f^(1, 0)(q(t), p(t)))

This relation represents Jacobi's identity for three functions H, f, and g.

Simplify[{f(q(t), p(t)), {g(q(t), p(t)), α H(q(t), p(t))} _pm} _pm + {g(q(t), p(t)), {	 ... , p(t)), f(q(t), p(t))} _pm} _pm + {α H(q(t), p(t)), {f(q(t), p(t)), g(q(t), p(t))} _pm} _pm]

0

The next example represents linearity in the second argument

{α H(q(t), p(t)), f(q(t), p(t)) + g(q(t), p(t))} _pm

α (-H^(0, 1)(q(t), p(t)) f^(1, 0)(q(t), p(t)) - H^(0, 1)(q(t), p(t)) g^(1, 0)(q(t), p(t)) + f^(0, 1)(q(t), p(t)) H^(1, 0)(q(t), p(t)) + g^(0, 1)(q(t), p(t)) H^(1, 0)(q(t), p(t)))

1.2 A four Dimensional Poisson Manifold

The following line defines a second Poisson manifold for two coordinate pairs q_i and p_i. The manifold is represented by the object

pm2 = PB . new[{P {p1[t], p2[t]}, Q {q1[t], q2[t]}}]

- Object of PoissonB -

The properties of this manifold is gained by

GetPropertiesForm[pm2]

Property Value
description Poisson Braracket
P {p1(t), p2(t)}
Q {q1(t), q2(t)}
Α {α→α}

Let us assume that we know a Hamiltonian in this four dimensional Poisson manifold given by

h4 = p1(t)^2/(2 m1) + p2(t)^2/(2 m2) + V(q1(t), q2(t))

p1(t)^2/(2 m1) + p2(t)^2/(2 m2) + V(q1(t), q2(t))

The Hamiltonian consists of two terms the kinetic energies and  a general expression for the potential V. The Poisson brackets for this Hamiltonian and the coordinates in this manifold follow from

({h4, #1} _pm2&)/@{p1(t), p2(t), q1(t), q2(t)}

{V^(1, 0)(q1(t), q2(t)), V^(0, 1)(q1(t), q2(t)), -p1(t)/m1, -p2(t)/m2}

Another two dimensional Hamiltonian with a different potential V gives

h41 = p1(t)^2/(2 m1) + p2(t)^2/(2 m2) + V(q1(t))

p1(t)^2/(2 m1) + p2(t)^2/(2 m2) + V(q1(t))

({h41, #1} _pm2&)/@{p1(t), p2(t), q1(t), q2(t)}

{V^′(q1(t)), 0, -p1(t)/m1, -p2(t)/m2}

Here is an example incorporating two specific functions of the Poisson manifold

{p1(t)^2/2 + p2(t)^2/2 + V(q1(t)), q1(t)^2 - p1(t) q2(t)} _pm2

p1(t) p2(t) - 2 p1(t) q1(t) - q2(t) V^′(q1(t))

This example demonstrates that the Poisson bracket with two identical arguments here a conserved quantities, vanishes

{p1(t)^2/2 + p2(t)^2/2 + V(q1(t)), p1(t)^2/2 + p2(t)^2/2 + V(q1(t))} _pm2

0

1.3 Hamilton's Equations Derived from the Manifold

Having available an object based reprsentation it is convinient to inherit properties of one class to another. This is especially useful by deriving Hamilton's equations based on PBs. In the previous subsection we introduced  class PoissonB collecting all properties and methods of a Poisson manifold. This class can be inherited to the class of Hamltonian equations which is defined by the phas space variables as the basis of the Hamilton manifold and the algebraic structure defined by the PBs.

It is convenient here to define a class for Hamilton's equations which inherits the properties of the Poisson bracket. The properties of the Poisson manifold are equivalent to the properties of the Hamilton manifold.

The following lines define the class HamiltonEquations.

HamiltonEquations = Class["HamiltonEquations", PB,  {description = "Ham ... uations[Pnew_List, Qnew_List, Tnew_Symbol] := Block[{}, P = Pnew ; Q = Qnew ; T = Tnew]} ]

- Class HamiltonEquations -

To handle the class for Hamiltonian equations and the derived objects in the same way as in a textbooks or in case of Poisson brackets, we introduce the notation

Notation[ℋ_ℰ^obj_[f_] ⟺ Dot[obj_, HamEqs[f_]]]

and define the corresponding palette

{, } _
ℋ_ℰ^[]

Having these tools available, we can apply the classes to specific problems.

1.4 Hamilton's Equations Derived from the Hamilton-Poisson Manifold

As a first example let us examine a Hamilton-Poisson (HP) manifold with a single coordinate and a single momentum. The object defining the Hamilton-Poisson manifold is created by

ham1 = HamiltonEquations . new[{P {p[t]}, Q {q[t]}}]

- Object of HamiltonEquations -

Specifying a single particle Hamiltonian by kinetic and potential energies, we can derive the set of Hamilton's equations by applying the manifold to the Hamiltonian.

GetPropertiesForm[ham1]

Property Value
description Hamilton ' s equations
P {p(t)}
Q {q(t)}
T t
Α {α→α}

ℋ_ℰ^ham1[p(t)^2/2 + V(q(t))]

{p^′(t) == V^′(q(t)), q^′(t) == -p(t)}

The result is a system of equations defining the dynamic of this particle.

A second example is concerned with a four dimensional HP manifold. The generalized coordinates and the momenta are primarily given by q_1, q_2, p_1 and p_2.

ham2 = HamiltonEquations . new[{P {p1[t], p2[t]}, Q {q1[t], q2[t]}}]

- Object of HamiltonEquations -

As an example, let us consider the double pendulum. The Hamiltonian for this system reads

HamDoublePendulum = 1/(2 l_1^2l_2^2m_2 (m_1 + m_2Sin[θ_1[t] - θ_2[t]]^2)) (l_2^2m_2p ... t] Cos[θ_1[t] - θ_2[t]]) - m_2 g l_2Cos[θ_2[t]] - (m_1 + m_2) g l_1Cos[θ_1[t]]

-g cos(θ_2(t)) l_2 m_2 - g cos(θ_1(t)) l_1 (m_1 + m_2) + (l_2^2 m_2 p_1(t)^2 - 2 cos ... (t) + l_1^2 (m_1 + m_2) p_2(t)^2)/(2 l_1^2 l_2^2 (m_2 sin^2(θ_1(t) - θ_2(t)) + m_1) m_2)

where p_i (i = 1, 2) are the generalized momenta, l_i, m_i are the inertia momenta and the masses of the particles and θ_i are the angles of deviation. The HP manifold ham2 defined above does not exactly correspond to the variables used in the Hamiltonian. However, we are able to change the coordinate names by setting the properties of the HP manifold using

SetProperties[ ham2, {P {p_1[t], p_2[t]}, Q {θ_1[t], θ_2[t]}}]

Now the HP manifold is defined for the coordinates

GetPropertiesForm[ham2]

Property Value
description Hamilton ' s equations
P {p_1(t), p_2(t)}
Q {θ_1(t), θ_2(t)}
T t
Α {α→α}

The four equations of motion can then be gained by

equationsOfMotion = ℋ_ℰ^ham2[HamDoublePendulum]

{p_1^′(t) == g sin(θ_1(t)) l_1 (m_1 + m_2) + 1/(2 l_1^2 l_2^2 m_2) ((2 sin(θ_1 ... t) - 2 l_1^2 (m_1 + m_2) p_2(t))/(2 l_1^2 l_2^2 m_2 (m_2 sin^2(θ_1(t) - θ_2(t)) + m_1))}

They represent the dynamics of the double pendulum in the Hamilton-Poisson manifold. This example demonstrates that an object oriented approache in symbolic computing allows to mimic the theoretical contence as close as possible. It is natural in an object oriented environment to use the mathematical notions in a one to one corespondence. Thus symbolic computing becomes a basis for theoretical constructs. The ease of use and the close connection to textbook presentations allows for a fast manipulation and reliable calculation of results. Beside of these examples, many other applications of Elements to similar subjects are ahead.


Created by Mathematica  (September 15, 2003)