...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Home  Libraries  People  FAQ  More 
In most Hamiltonian systems the kinetic term is a quadratic term in the momentum H_{kin} = p^2 / 2m and in many cases it is possible to rescale coordinates and set m=1 which leads to a trivial equation of motion:
q'(t) = f(p) = p.
while for p' we still have the general form
p'(t) = g(q)
As this case is very frequent we introduced a concept where only the nontrivial equation for p' has to be provided to the symplectic stepper. We call this concept SimpleSymplecticSystem
A type that is a model of SimpleSymplecticSystem
The type of the coordinate q
The type of the derivative of momentum p'
An object that models System
Object of type Coor
Object of type MomentumDeriv
Name 
Expression 
Type 
Semantics 

Check for pair 


Check if System is a pair, should be evaluated to false in this case. 
Calculate dp/dt = g(q) 


Calculates g(q), the result is stored into
