Exercise 1.38: Velocity transformation
Use the procedure Gamma-bar to construct a procedure that transforms velocities given a coordinate transformation. Apply this procedure to the procedure p->r to deduce (again) equation (1.67) on page 42.
We need to define a function F->C_v that takes a local tuple coordinate transformation function $F$ and returns a new local tuple function $C_v$. $C_v$ when evaluated on a local tuple, returns the expression for velocity in terms of the new coordinates.
If the fucntion $F$ is defined as $x = F(t, x’)$, then $v = C_v(t, x’, v’)$.
We start with a path-dependent function $\bar{C_v}$ with path $q’$ as its input, defined as:
where $\dot{Q}$ is a selector function that extracts the velocity component of a local tuple. We get $C_v$ by applying the Gamma-bar function on $\bar{C_v}$
(defn F->C_v
[F]
(fn C_v [local]
(let [f-bar (fn [q-prime]
(let [q (compose F (Gamma q-prime))] ;; q = F . Gamma[q']
(compose velocity (Gamma q)) ;;
))
]
((Gamma-bar f-bar) local))
))
(rendertex ((F->C_v p->r)
(up 't (up 'r 'varphi) (up 'rdot 'varphidot)))
)
^ The above answer matches Eq. 1.67