aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--journal/02feb2009.html16
-rw-r--r--work/funcdiff_play.scm93
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 @@
<head><title>bnewbold thesis</title></head>
<body style="margin: 25px; font-family: helvetica;">
<h1 style="border-bottom: 2px solid;">
-Journal: Jan 27, 2009</h1>
+Journal: Feb 02, 2009</h1>
<i>Bryan Newbold, <a href="mailto:bnewbold@mit.edu">bnewbold@mit.edu</a></i><br />
<i><a href="http://web.mit.edu/bnewbold/thesis/">
http://web.mit.edu/bnewbold/thesis/</a></i>
@@ -94,7 +94,19 @@ And then interactively:
<img src="02feb2009-evolve-circle-02.png" />
<br />
That looks a lot better!
-<br /><br />
+<p />
+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.
+<p />
+There's definately some funky funk in the original differential geometry memo
+around page 20 w/r/t R2 vs R3 coordinates.
+<p />
+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.
+
+<br /><br />
<a href="27jan2009.html"><i>(previous entry)</i></a>
<!-- ================================================================ -->
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