SICM Exercise 1.05
Solution to exercise 1.5 of Structure and Interpretation of Classical Mechanics by Gerald Jay Sussman and Jack Wisdom.
Solution process
🛈 Note
We can watch the progress of the minimization by modifying the procedure parametric-path-action to plot the path each time the action is computed. Try this:
(define win2 (frame 0.0 :pi/2 0.0 1.2)) (define ((parametric-path-action Lagrangian t0 q0 t1 q1) intermediate-qs) (let ((path (make-path t0 q0 t1 q1 intermediate-qs))) ;; display path (graphics-clear win2) (plot-function win2 path t0 t1 (/ (- t1 t0) 100)) ;; compute action (Lagrangian-action Lagrangian path t0 t1)))
(define (Lagrangian-action L q t1 t2)
(definite-integral (compose L (Gamma q)) t1 t2))
(define (find-path Lagrangian t0 q0 t1 q1 n)
(let ((initial-qs (linear-interpolants q0 q1 n)))
(let ((minimizing-qs
(multidimensional-minimize
(parametric-path-action Lagrangian t0 q0 t1 q1)
initial-qs)))
(make-path t0 q0 t1 q1 minimizing-qs))))
(define win2 (frame 0.0 :pi/2 0.0 1.2))
(define ((parametric-path-action Lagrangian t0 q0 t1 q1) intermediate-qs)
(let ((path (make-path t0 q0 t1 q1 intermediate-qs)))
;; display path
(graphics-clear win2)
(plot-function win2 path t0 t1 (/ (- t1 t0) 100))
;; compute action
(Lagrangian-action Lagrangian path t0 t1)))
(define ((L-harmonic m k) local)
(let ((q (coordinate local))
(v (velocity local)))
(- (* 1/2 m (square v)) (* 1/2 k (square q)))))
(find-path (L-harmonic 1.0 1.0) 0.0 1.0 :pi/2 0.0 2)
Tags:
Authors: