Functional Differential Geometry
.
Why does d/dx appear in the book’s code (e.g. when defining a vector field like e0) before it is ever explicitly defined with a define, and why is it unbound until you run certain coordinate-system definitions?

In the FDG library (scmutils), the symbols d/dx, d/dy, d/dr, d/dθ, etc. are automatically created as literal vector-field basis objects the first time you define coordinates on a manifold using define-coordinates.
Specifically:
; rectangular coordinates (define-coordinates (up x y) R2-rect)
does two things behind the scenes:
- It creates coordinate functions
x,y(orr,theta) that go from points → numbers. - It simultaneously creates the dual basis vector fields named
d/dx,d/dy(ord/dr,d/dθ) that are literal vector fields on that coordinate system.
(for-each (lambda (name) (environment-define env (string->symbol (string-append "d/d" (symbol->string name))) (make-literal-vector-field name coord-sys))) coordinate-names)
These d/d… objects are not defined by a visible define in the user code; they are inserted into the global environment by the macro define-coordinates itself.
— Me@2025-10-12 10:49:20 AM
.
.
2025.12.07 Sunday (c) All rights reserved by ACHK
You must be logged in to post a comment.