(ns emmy.mechanics.time-evolution
(:require [emmy.function :as f]
[emmy.generic :as g]
[emmy.mechanics.hamilton :as mh]))

Time Evolution Transformations

(defn shift-t [delta-t]
(fn [[t q p]]
(mh/->H-state
(g/+ t delta-t) q p)))
#object[emmy.mechanics.time_evolution$shift_t 0x2907e209 "
emmy.mechanics.time_evolution$shift_t@2907e209"
]
(defn C->Cp [C]
(fn [delta-t]
(f/compose (C delta-t)
(shift-t
(g/- delta-t)))))
#object[emmy.mechanics.time_evolution$C__GT_Cp 0x236e80c7 "
emmy.mechanics.time_evolution$C__GT_Cp@236e80c7"
]
(defn H->Hp [delta-t]
(fn [H]
(f/compose H (shift-t
(g/- delta-t)))))
#object[emmy.mechanics.time_evolution$H__GT_Hp 0x3d918fc3 "
emmy.mechanics.time_evolution$H__GT_Hp@3d918fc3"
]