From 97f5cf924367cb47e2fa411c1bbe29bd18f9ce17 Mon Sep 17 00:00:00 2001 From: bnewbold Date: Tue, 3 Feb 2009 05:31:40 -0500 Subject: finished for the night --- journal/02feb2009.html | 16 +++++++-- work/funcdiff_play.scm | 93 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 106 insertions(+), 3 deletions(-) diff --git a/journal/02feb2009.html b/journal/02feb2009.html index 7f29192..658538a 100644 --- a/journal/02feb2009.html +++ b/journal/02feb2009.html @@ -4,7 +4,7 @@ bnewbold thesis

-Journal: Jan 27, 2009

+Journal: Feb 02, 2009 Bryan Newbold, bnewbold@mit.edu
http://web.mit.edu/bnewbold/thesis/ @@ -94,7 +94,19 @@ And then interactively:
That looks a lot better! -

+

+I don't know why I didn't notice it earlier, but the way dx, d/dx, etc are +defined is the instantiate-coordinates procedure. +

+There's definately some funky funk in the original differential geometry memo +around page 20 w/r/t R2 vs R3 coordinates. +

+From page 28: "You can tell if a set of basis vector fields is a coordinate +basis by calculating the commutators. If they are non-zero, then the basis +is not a coordinate basis." Isn't that just for orthogonal bases? Need to think +this through. + +

(previous entry) diff --git a/work/funcdiff_play.scm b/work/funcdiff_play.scm index 429933c..482f0f3 100644 --- a/work/funcdiff_play.scm +++ b/work/funcdiff_play.scm @@ -157,7 +157,7 @@ ((R2 '->point) (up 1 0)))) #| - +; super chunky, i would rewrite these for sure (define mywindow (frame -4 4 -4 4)) (define (plot-evolution win order initial a step) @@ -210,3 +210,94 @@ (explore-evolution mywindow 5 .4) |# + +(define R3 (rectangular 3)) +(instantiate-coordinates R3 '(x y z)) +(define R3-chi (R3 '->coords)) +(define R3-chi-inverse (R3 '->point)) +(define R3->R (-> (UP Real Real Real) Real)) +(define R3-point (R3-chi-inverse (up 'x0 'y0 'z0))) + +(define omega (literal-1form-field 'omega R3)) + +(define v (literal-vector-field 'v R3)) +(define w (literal-vector-field 'w R3)) +(define c (literal-manifold-function 'c R3)) + +(pe ((- (omega (+ v w)) (+ (omega v) (omega w))) R3-point)) +;0 + +(pe ((- (omega (* c v)) (* c (omega v))) R3-point)) +;0 + +(define omega + (components->1form-field + (down (literal-manifold-function 'a_0 R3) + (literal-manifold-function 'a_1 R3) + (literal-manifold-function 'a_2 R3)) + R3)) + +(pe ((dx d/dx) R3-point)) +; 1 + +(pe ((omega (literal-vector-field 'v R3)) R3-point)) + +; back to R2? +(instantiate-coordinates R2 '(x y)) +(pe ((dy J) R2-point)) + +(define e0 + (+ (* (literal-manifold-function 'e0x R2) d/dx) + (* (literal-manifold-function 'e0y R2) d/dy))) + +(define e1 + (+ (* (literal-manifold-function 'e1x R2) d/dx) + (* (literal-manifold-function 'e2x R2) d/dy))) + +(define e-vector-basis (down e0 e1)) +(define e-dual-basis (vector-basis->dual e-vector-basis P2)) + +;(pe ((e-dual-basis e-vector-basis) m)) +; TODO: m undefined + +(define l-m-f literal-manifold-function) ; type this a lot! + +(define v + (* e-vector-basis + (up (l-m-f 'bx R2) + (l-m-f 'by R2)))) + +#| +(pe ((e-dual-basis v) R2-point)) +; takes a super long time... still have R3 definitions? + +(let ((polar-vector-basis (basis->vector-basis polar-basis)) + (polar-dual-basis (basis->1form-basis polar-basis))) + (pe ((- (commutator e0 e1 f) + (* (- (e0 (polar-dual-basis e1)) + (e1 (polar-dual-basis e0))) + (polar-vector-basis f))) + R2-point))) + +; TODO: missing defs... goddamn it's cold + +|# + +; back to R3 +(define R3 (rectangular 3)) +(instantiate-coordinates R3 '(x y z)) +(define R3->R (-> (UP Real Real Real) Real)) +(define g + (compose (literal-function 'g R3->R) + (R3 '->coords))) +(define R3-point ((R3 '->point) (up 'x 'y 'z))) + +(define Jz (- (* x d/dy) (* y d/dx))) +(define Jx (- (* y d/dz) (* z d/dy))) +(define Jy (- (* z d/dx) (* x d/dz))) + +(pe (((+ (commutator Jx Jy) Jz) g) R3-point)) +; 0 +; so [Jx,Jy] = -Jz, nice + +; @ p21? \ No newline at end of file -- cgit v1.2.3