Emmy, the Algebra System: Differential Geometry Chapter Six
Functional Differential Geometry: Chapter 6
6 Over a Map
To deal with motion on manifolds we need to think about paths on manifolds and vectors along these paths.
See Ch3: procedure->vector-field not accessible in Scittle, but vector-field->vector-field-over-map is standard
(comment
(define ((vector-field->vector-field-over-map mu:N->M) v-on-M)
(procedure->vector-field
(lambda (f-on-M)
(compose (v-on-M f-on-M) mu:N->M)))))Differential of a Map
here I use lambda, because my define does not support three nestings
(define ((differential mu) v)
(lambda (f)
(v (compose f mu))))6.2 One-Form Fields Over a Map
(comment
(define ((form-field->form-field-over-map mu:N->M) w-on-M)
(define (make-fake-vector-field V-over-mu n)
(define ((u f) m)
((V-over-mu f) n))
(procedure->vector-field u))
(procedure->nform-field
(lambda vectors-over-map
(lambda (n)
((apply w-on-M
(map (lambda (V-over-mu)
(make-fake-vector-field V-over-mu n))
vectors-over-map))
(mu:N->M n))))
(get-rank w-on-M)))
:end-comment)6.3 Basis Fields Over a Map
(define S2 (make-manifold S2-type 2 3))(define S2-spherical
(coordinate-system-at S2 :spherical :north-pole))(define-coordinates (up theta phi) S2-spherical)
NoteERR
WARNING: phi already refers to: #'emmy.env/phi in namespace: mentat-collective.emmy.fdg-ch06, being replaced by: #'mentat-collective.emmy.fdg-ch06/phi
(define S2-basis (coordinate-system->basis S2-spherical))(define mu
(compose (point S2-spherical)
(up (literal-function 'theta) (literal-function 'phi))
(chart R1-rect)))(define S2-basis-over-mu (basis->basis-over-map mu S2-basis))(define h
(literal-manifold-function 'h-spherical S2-spherical))(print-expression
(((basis->vector-basis S2-basis-over-mu) h)
((point R1-rect) 't0)))(down (((partial 0) h-spherical) (up (theta t0) (phi t0))) (((partial 1) h-spherical) (up (theta t0) (phi t0))))(print-expression
(((basis->oneform-basis S2-basis-over-mu)
(basis->vector-basis S2-basis-over-mu))
((point R1-rect) 't0)))(up (down 1 0) (down 0 1))Components of the Velocity
(define-coordinates t e/R1-rect)
NoteERR
WARNING: R1-rect already refers to: #'emmy.env/R1-rect in namespace: mentat-collective.emmy.fdg-ch06, being replaced by: #'mentat-collective.emmy.fdg-ch06/R1-rect
(print-expression
(((basis->oneform-basis S2-basis-over-mu)
((differential mu) d:dt))
((point R1-rect) 't0)))(up ((D theta) t0) ((D phi) t0))Pullback and Pushforward of a Function
(define ((pullback-function mu:N->M) f-on-M)
(compose f-on-M mu:N->M))Pushforward of a Vector Field
(comment
(define ((pushforward-vector mu:N->M mu-inverse:M->N) v-on-N)
(procedure->vector-field
(lambda (f)
(compose (v-on-N (compose f mu:N->M)) mu-inverse:M->N))))
)Pullback of a Vector Field
(define (pullback-vector-field mu:N->M mu-inverse:M->N)
(pushforward-vector mu-inverse:M->N mu:N->M))Pullback of a Form Field
(comment
(define ((pullback-form mu:N->M) omega-on-M)
(let ((k (get-rank omega-on-M)))
(if (= k 0)
((pullback function mu:N->M) omega-on-M)
(procedure->nform-field
(lambda vectors-on-N
(apply ((form-field->form-field-over-map mu:N->M)
omega-on-M)
(map (differential mu:N->M) vectors-on-N)))
k))))
)Properties of Pullback
(define mu (literal-manifold-map 'MU R2-rect R3-rect))(define f (literal-manifold-function 'f-rect R3-rect))(define X (literal-vector-field 'X-rect R2-rect))(print-expression
(((- ((pullback mu) (d f)) (d ((pullback mu) f))) X)
((point R2-rect) (up 'x0 'y0))))0(define theta (literal-oneform-field 'THETA R3-rect))(define Y (literal-vector-field 'Y-rect R2-rect))(print-expression
(((- ((pullback mu) (d theta)) (d ((pullback mu) theta))) X Y)
((point R2-rect) (up 'x0 'y0))))0(repl/scittle-sidebar)