diff options
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | edwin-cheatsheet.txt | 84 | ||||
-rw-r--r-- | proposal/bnewbold_8thesis_proposal.lyx | 146 | ||||
-rw-r--r-- | proposal/bnewbold_8thesis_proposal.pdf | bin | 0 -> 45946 bytes | |||
-rw-r--r-- | proposal/bnewbold_8thesis_proposal.skel.pdf | bin | 0 -> 42278 bytes | |||
-rw-r--r-- | references.html | 42 | ||||
-rw-r--r-- | sage-scheme-notes.txt | 9 | ||||
-rw-r--r-- | sicm-fall08.html | 127 | ||||
-rw-r--r-- | to_athena.sh | 3 |
9 files changed, 416 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..72ecbcb --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +downloads +toread +sage +scheme_stuff +proposal/bnewbold_8thesis_proposal.skel.pdf diff --git a/edwin-cheatsheet.txt b/edwin-cheatsheet.txt new file mode 100644 index 0000000..68ffd2c --- /dev/null +++ b/edwin-cheatsheet.txt @@ -0,0 +1,84 @@ + +-*-mode: Text; tab-width: 4; -*-
+
+ EDWIN CHEAT SHEET
+ (keep under your pillow)
+
+ 6.090, IAP 2005
+
+Reading Edwin key combinations:
+ C-x Ctrl+x
+ M-x Alt+x
+ C-x, y Ctrl+x, release both, y
+ C-M-x Ctrl+Alt+x
+
+Stuff You *Need* to Know:
+ Starting Edwin Start Menu > MIT Scheme > Edwin
+ Quitting Edwin C-x, C-c
+ Opening a file C-x, C-f
+ Closing a file (aka buffer) C-x, k
+ Evaluate current expression C-x, C-e
+ (expression ending just before
+ insertion point)
+ Evaluate entire buffer
+ (works only on Scheme files!) M-o
+
+The Edwin Window and Scheme:
+ When you start it, the Edwin window looks like a plain text
+ editor. It has a large blank area for entering text, one black
+ line at the bottom with some information displayed (the modeline),
+ and a blank white line below that (the minibuffer).
+
+ The text area
+ is where the file you're viewing shows up. You can edit the
+ file here, with the usual keys (up, down, page up, left... you
+ get the idea).
+
+ The modeline
+ displays the name of the current buffer (file), your position
+ in it, and the kind of file Edwin thinks it is (text, scheme
+ code etc.).
+
+ The minibuffer
+ is where you interact with Edwin's commands. For example, when
+ you press C-x, C-f to open a file, you enter the filename in
+ the minibuffer.
+
+ Edwin is more than just an editor, though. It also features a
+ Scheme evaluator, to which it can send your code. So when you
+ press C-x, C-e at the end of an expression, it gets evaluated by
+ this evaluator (more on evaluators and evaluation in class).
+
+ Try out the key combinations below to see what they do. Don't try
+ to memorize them. Your finger muscles will learn them as time goes
+ on :-)
+
+Inessential Edwin:
+ Editing
+ Marking/selecting text Go to one end of the block, press
+ C-space, go to the other end. You won't
+ see any visual indication of the
+ selection.
+ Cut C-w
+ Copy M-w
+ Paste C-y
+ Cut from point to end of like C-k
+
+ Multiple Windows and Buffers
+ Switch buffer C-x, b
+ Switch window C-x, o
+ Split window vertically C-x, 2
+ Split window horizontally C-x, 3
+ Delete current split C-x, 0
+ Create new frame (window) C-x, 5, 2
+ Delete current frame C-x, 5, 0
+
+Interactive Scheme:
+ When you are in the buffer called *scheme*, everything you type goes
+ directly to the evaluator, and the results are displayed below your
+ expressions. When you make an error, the evaluator gives you a set of
+ choices to help you debug your code. Usually, it is best to type (restart 1)
+ at the next prompt to abort the current evaluation, so you can go back and
+ examine your code to see what went wrong. For more advanced debugging tools,
+ talk to an LA.
+
diff --git a/proposal/bnewbold_8thesis_proposal.lyx b/proposal/bnewbold_8thesis_proposal.lyx new file mode 100644 index 0000000..708b44d --- /dev/null +++ b/proposal/bnewbold_8thesis_proposal.lyx @@ -0,0 +1,146 @@ +#LyX 1.5.2 created this file. For more info see http://www.lyx.org/ +\lyxformat 276 +\begin_document +\begin_header +\textclass article +\language english +\inputencoding auto +\font_roman default +\font_sans default +\font_typewriter default +\font_default_family default +\font_sc false +\font_osf false +\font_sf_scale 100 +\font_tt_scale 100 +\graphics default +\paperfontsize default +\papersize default +\use_geometry false +\use_amsmath 1 +\use_esint 1 +\cite_engine basic +\use_bibtopic false +\paperorientation portrait +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\defskip medskip +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\author "" +\author "" +\end_header + +\begin_body + +\begin_layout Title +A Computational Elucidation of Curved Spacetime +\end_layout + +\begin_layout Date +\begin_inset Formula $\today$ +\end_inset + + +\end_layout + +\begin_layout Author +Bryan Newbold +\end_layout + +\begin_layout Quotation +Advisor: Prof. + Gerald J. + Sussman, EECS +\end_layout + +\begin_layout Standard +I propose to implement a geometric formulation of curved space time in a + functional computer programming language, and to explore the space of simulatio +ns and manipulations made possible by such a formulation. + A primary motivation is to state the foundations of General Relativity + in a non-ambiguous manner. + +\end_layout + +\begin_layout Standard +This work follows several attempts to formulate curved spacetime on computers + for the purpose of numerical calculations and algebraic manipulation. + Most of these packages are specially designed for the tasks of tensor analysis + and/or efficient numerical calculation, as is appropriate for use in calculatio +ns. + A crucial difference of this proposed work will be to carefully build up + the geometric and analytical tools in a general purpose functional programing + language (mit-scheme). + As a learning and reference tool, this will allow users to explore the + inner workings and structure of the system, which I believe is essential + to understanding the system as a whole. + +\end_layout + +\begin_layout Standard +The frame field representation will be used to emphasize the geometric propertie +s of curved space time, as opposed to the more traditional coordinate heavy + tensor analysis approach. +\end_layout + +\begin_layout Standard +The resulting work will include a full implementation with source code and + documentation, as well as example problems and qualitative comparisons + with existing packages and software systems. +\end_layout + +\begin_layout Bibliography +\begin_inset LatexCommand bibitem +key "key-1" + +\end_inset + +Functional Differential Geometry, G. + Sussman and J. + Wisdom (2005) +\end_layout + +\begin_layout Bibliography +\begin_inset LatexCommand bibitem +key "key-2" + +\end_inset + +Structure and Interpretation of Classical Mechanics, G. + Sussman and J. + Wisdom (2001) +\end_layout + +\begin_layout Bibliography +\begin_inset LatexCommand bibitem +key "key-1" + +\end_inset + +"Algebraic Computing in General Relativity", Ray d'Inverno (from General + Relativity, G. + Hall and J. + Pulham) +\end_layout + +\begin_layout Bibliography +\begin_inset LatexCommand bibitem +key "key-2" + +\end_inset + +"The Use of Algebraic Computing in General Relativity", H. + I. + Cohen, A. + Leringe and Y. + Sundblad +\end_layout + +\end_body +\end_document diff --git a/proposal/bnewbold_8thesis_proposal.pdf b/proposal/bnewbold_8thesis_proposal.pdf Binary files differnew file mode 100644 index 0000000..095e7ce --- /dev/null +++ b/proposal/bnewbold_8thesis_proposal.pdf diff --git a/proposal/bnewbold_8thesis_proposal.skel.pdf b/proposal/bnewbold_8thesis_proposal.skel.pdf Binary files differnew file mode 100644 index 0000000..b9d2632 --- /dev/null +++ b/proposal/bnewbold_8thesis_proposal.skel.pdf diff --git a/references.html b/references.html new file mode 100644 index 0000000..5481396 --- /dev/null +++ b/references.html @@ -0,0 +1,42 @@ +<html> +<head><title>bnewbold 8 thesis references</title></head> +<body style="margin: 25px; font-family: helvetica;"> +<h1 style="border-bottom: 2px solid;">References</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/references.html"> +http://web.mit.edu/bnewbold/thesis/references.html</a></i> + +The SICM text book is <a href="http://mitpress.mit.edu/SICM/">free online</a>; +so is the <a href="http://mitpress.mit.edu/sicp/">SICP book</a>. +</br /> +There is an unofficial <a href="http://groups.google.com/group/sicm">SICM mailing list</a>.<br /> +<br /> +<b>Computational GR</b> +<br />Try this <a href="http://www.google.com/search?hl=en&client=firefox-a&rls=org.mozilla:en-US:official&hs=xWi&q=+site:www.springerlink.com+general+relativity+lisp">google search</a>? +<ul> + <li />"Algebraic Computing in General Relativity", Raw d'Inverno (from <u>General Relativity</u>, G. Hall and J. Pulham) + <li />"General Relativity and the Application of Algebraic Manipulative Systems", Barton, D. and Fitch, J.P. (1971) + <li />Campbell, S. J.; Wainwright, J. "Algebraic computing and the Newman-Penrose formalism in general relativity" General Relativity and Gravitation, vol. 8, Dec. 1977, pp987-1001 + <li />"The use of algebraic computing in general relativity", H. I. Cohen, Ö. Leringe and Y. Sundblad + <li />"ORTOCARTAN — A new computer program for analytic calculations in general relativity", Andrzej Krasinacuteski and Marek Perkowski + <li />"Sheep and classification in general relativity", Inge Frick and Jan E. Åman + <li />"Using camal for algebraic computations in general relativity", J. P. Fitch and H. I. Cohen +</ul> + +<b>Other</b> (<a href="http://static.bryannewbold.com/toread/thought/">download</a>) +<ul> + <li /><u>The Dynamicist's Workbench: Automatic Preparation of Numerical Experiments</u>, H. Abelson and G. Sussman + <li /><u>Simulating Physics with Computers</u>, R. Feynman + <li /><u>Functional Differential Geometry</u>, G. Sussman and J. Wisdom (2005) + + <li /><u>Computer Programs for Calculating General-Relativistic Curvature Tensors</u>, J. Fletcher, R. Clemen, R. Matzner, K. Thorne, and B. Zimmerman (letter, 1967) + <li /><u>Intelligence in Scientific Computing</u>, H. Abelson, M. Eisenberg, M. Halfant, J. Katzenelson, E. Sacks, G. Sussman, J. Wisdom, and K. Yip + <li /><u>Abstraction in Numerical Methods</u>, M. Halfant and G. Sussman + <li /><u>The Role of Programming in the Formulation of Ideas</u>, G. Sussman and J. Wisdom + <li /><u>Scientific Comutation and Functional Programming</u>, J. Karczmarczuk (1999) + <li /><u>The Supercomputer Toolkit: A general framework for special-purpose computing</u>, H. Abelson, A. Berlin, J. Katzenelson, W. McAllister, G. Rozas, G. Sussman, and J. Wisdom (1991) + +</ul> +</body> +</html> + diff --git a/sage-scheme-notes.txt b/sage-scheme-notes.txt new file mode 100644 index 0000000..0b88a90 --- /dev/null +++ b/sage-scheme-notes.txt @@ -0,0 +1,9 @@ + +in sage-###/devel/sage/sage/interfaces/, copy template.py to mitscheme.py +edit all.py and add appropriate objects, strings + +then compile everything: +./sage -b + + + diff --git a/sicm-fall08.html b/sicm-fall08.html new file mode 100644 index 0000000..db6c70e --- /dev/null +++ b/sicm-fall08.html @@ -0,0 +1,127 @@ +<html> +<head><title>SICM Material Fall 2008</title></head> +<body style="margin: 25px; font-family: helvetica;"> +<h1 style="border-bottom: 2px solid;">Functional Relativity, Symbolic Geometry, et al</h1> +<i>Bryan Newbold, <a href="mailto:bnewbold@mit.edu">bnewbold@mit.edu</a></i><br /> +<i><a href="http://web.mit.edu/bnewbold/Public/sicm-fall08.html"> +http://web.mit.edu/bnewbold/Public/sicm-fall08.html</a></i> + +<h2>Informal Background</h2> +For the fall of 2008 I'm very interested in investigating gravitation and +other physical theories using functional programming techniques. I find that +formalizing physical systems into a computer model is the best way to solidify +my understanding of the system; using functional languages and techniques +makes the conceptual wall between mathematical abstraction and programming +implementation much lower; the result is a more reusable and general model +well suited for experimentation and exploration. +<br /> <br /> +I am planning on getting my undergraduate physics degree in spring 2009, for +which I will need a thesis. I am hoping to develop skills and tools this fall +with which to accomplish Real Live Science over IAP and in the early spring. +<br /><br /> +The stimulus for this course of study was the class +<a href="http://www-swiss.ai.mit.edu/~gjs/6946/index.html">Classical +Mechanics: A Computational Approach</a> taught by G. Sussman and J. Wisdom +at <a href="http://web.mit.edu">MIT</a>. I had trouble with the later sections +of the book/course and am hoping that now with an eta of math under my belt I +can chip away at it. + +<h2>Potential Fall Projects</h2> + +<b>Integration of mit-scheme and scmutils into Sage</b> +<span style="font-weight:bold; color:#00CC00;">(yes)</span> +<br />The <a href="http://sagemath.org">Sage math system</a> is an open-source +alternative to Mathematica, Maple, etc. It provides an easy to learn html +notebook interface (as well as command line) and is bundled with a plethora +of high performance libraries (like PARI, GMP, MAXIMA, SINGULAR, see this +<a href="http://www.sagemath.org/packages/standard/">list</a>). <br /> +A number of other packages (including common lisp) already have interfaces +based around a fake TTY device; this should be easy with mit-scheme. Or a more +complete object-style interface could be implemented. There is documentation +for writing interfaces <a href="http://www.sagemath.org/doc/prog/prog.html"> +here</a> and <a href="http://www.sagemath.org/doc/ref/node95.html">here</a> +<br /> +There is a public demo server at <a href="http://sagenb.org">sagenb.org</a>, +but it's usually slow. Try this +<a href="https://sage.math.washington.edu:8102/">server</a> instead (user: +ableseaman, password: bottlerum, if you don't want to fill out the form). +Sage has been used in math classes at MIT already; Tim Abbot is working +on "debianizing" the whole system, after which it should be on Athena. +<br /><br /> + +<b>Exploration of "higher order dynamics"</b> +<span style="font-weight:bold; color:orange;">(possible)</span> +<br /> +I'd like to play with systems involving "higher order dynamics", aka {jerk, +yank, <a href="http://sprott.physics.wisc.edu/pubs/paper229.pdf">snap, crackle, pop</a>}. These dynamics have become interesting to cosmologists? +<br />See arxiv <a href="http://arxiv.org/abs/gr-qc/0309109">one</a>, <a href="http://arxiv.org/abs/astro-ph/0408279">two</a>, other chaotic <a href="http://sprott.physics.wisc.edu/pubs/paper229.pdf">pdf</a>. +<br /><br /> + +<b>General Relativity Simulations: compact bodies, inspirals, precession</b> +<span style="font-weight:bold; color:orange;">(possible)</span> +<br />Should talk with <a href="http://gravity.psu.edu/people/LSF/">Lee Finn +</a>@penn, <a href="http://mit.edu/pranesh/www/">pranesh</a>@mit? Go to +<a href="http://space.mit.edu/journalclub/index.html">mki journal club</a>. +<br /> <br /> + +<b>Modified Newtonian Dynamics</b> +<span style="font-weight:bold; color:orange;">(possible)</span> +<br /><a href="http://en.wikipedia.org/wiki/Modified_Newtonian_dynamics">MOND</a> +was originally proposed to explain the galactic rotation curve +problem; it has been extended as a relativistic field theory as +<a href="http://en.wikipedia.org/wiki/Tensor-vector-scalar_gravity">TeVeS</a> +(Tensor-vector-scalar gravity, described in 2004). +<br /> +I think it would be interesting to implement and play with MOND or other +alternative gravitational theories in a symbolic computation framework. +Assumptions could be checked quickly and easily (eg, behaves like X in the +short distance limit, behaves like Y in the high stress-energy limit). +The process of formalization could also be a good test; if the theory can't +be coded, is it a valid theory? Would also demonstrate that programming tools +are general and can be used to explore non-physical theories. +<br />See also Henon-Heiles. +<br /> <br /> + +<b>Action Minimization Problems</b> +<span style="font-weight:bold; color:orange;">(possible)</span> +<br /> +Minimization of action over path integrals is a classic hammer in the physics +toolbox (everything looks like an oscillating nail). It might be fun to +play with some old classics like optics or Ohm-ic resistance. +<br /><br /> + +<b>Basic Quantum Mechanics</b> +<span style="font-weight:bold; color:red;">(unlikely)</span> +<br />Methods with Wilkson-Sommerfeld quantization? I don't know enough +QM to go beyond simple, introductory quantum systems, but might be interesting. +<br /><br /> + +<b>Quantum Computation</b> +<span style="font-weight:bold; color:red;">(unlikely)</span> +<br />There is already extensive work done here; see +<a href="http://tph.tuwien.ac.at/~oemer/qcl.html">http://tph.tuwien.ac.at/~oemer/qcl.html</a><br /><br /> + + +<h2>Resources</h2> +The SICM text book is <a href="http://mitpress.mit.edu/SICM/">free online</a>; +so is the <a href="http://mitpress.mit.edu/sicp/">SICP book</a>. +</br /> +There is an unofficial <a href="http://groups.google.com/group/sicm">SICM mailing list</a>.<br /> +<br /> +<b>Papers to read?</b> (<a href="http://static.bryannewbold.com/toread/thought/">download</a>) +<ul> + <li /><u>The Dynamicist's Workbench: Automatic Preparation of Numerical Experiments</u>, H. Abelson and G. Sussman + <li /><u>Simulating Physics with Computers</u>, R. Feynman + <li /><u>Functional Differential Geometry</u>, G. Sussman and J. Wisdom (2005) + + <li /><u>Computer Programs for Calculating General-Relativistic Curvature Tensors</u>, J. Fletcher, R. Clemen, R. Matzner, K. Thorne, and B. Zimmerman (letter, 1967) + <li /><u>Intelligence in Scientific Computing</u>, H. Abelson, M. Eisenberg, M. Halfant, J. Katzenelson, E. Sacks, G. Sussman, J. Wisdom, and K. Yip + <li /><u>Abstraction in Numerical Methods</u>, M. Halfant and G. Sussman + <li /><u>The Role of Programming in the Formulation of Ideas</u>, G. Sussman and J. Wisdom + <li /><u>Scientific Comutation and Functional Programming</u>, J. Karczmarczuk (1999) + <li /><u>The Supercomputer Toolkit: A general framework for special-purpose computing</u>, H. Abelson, A. Berlin, J. Katzenelson, W. McAllister, G. Rozas, G. Sussman, and J. Wisdom (1991) + +</ul> +</body> +</html> + diff --git a/to_athena.sh b/to_athena.sh new file mode 100644 index 0000000..d3bf910 --- /dev/null +++ b/to_athena.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +scp -r journal bnewbold@linux.mit.edu:thesis/ |