Emmy, the Algebra System: Classical Mechanics Chapter One

Published

September 10, 2025

The following examples are taken from the MIT open-access book Structure and Interpretation of Classical Mechanics (SICM).

Another notebook can be found on the Road to Reality website by Sam Ritchie, the author (along with Colin Smith) of Emmy, the Computer Algebra System.

For interactivity, I have some SICM graphical puzzles.

In adopting MIT-Scheme’s (define ...), I trust that Clojure people will bridge that gap quickly while being sure of the gratitude of all readers of the immutable, dense book.

ImportantCould not locate emmy/env__init.class, emmy/env.clj or emmy/env.cljc on classpath.
                          clojure.core/eval    core.clj: 3232
                                        ...                 
mentat-collective.emmy.sicm-ch01/eval111127  REPL Input:     
                                        ...                 
                       clojure.core/require    core.clj: 6066 (repeats 2 times)
                                        ...                 
                     clojure.core/load-libs    core.clj: 6028
                     clojure.core/load-libs    core.clj: 6044
                                        ...                 
                      clojure.core/load-lib    core.clj: 5981
                      clojure.core/load-lib    core.clj: 6002
                   clojure.core/load-lib/fn    core.clj: 6003
                      clojure.core/load-one    core.clj: 5961
                                        ...                 
                          clojure.core/load    core.clj: 6172
                          clojure.core/load    core.clj: 6188
                       clojure.core/load/fn    core.clj: 6189
                                        ...                 
java.io.FileNotFoundException: Could not locate emmy/env__init.class, emmy/env.clj or emmy/env.cljc on classpath.

source: src/mentat_collective/emmy/sicm_ch01.clj