Functional Differential Geometry (2012) [pdf]
groups.csail.mit.edu
groups.csail.mit.edu
Bamberg and Sternberg, A Course in Mathematics for Physics Students. It's a redo of calculus using differential geometry from the start. A very pretty way to do E&M, or calculations on the surface of the Earth, or vector flows.
Grady and Polimeni, Discrete Calculus. This is how you do calculus on graphs, which is how you do scoring algorithms on graphs. You know, for big data.
Discrete exterior calculus in Python! (almost forgot) http://arxiv.org/abs/1103.3076 They have demos that show how extraordinarily powerful it is.
That ought to keep you busy for a few months, you odd ducks.
I actually helped Burke out with a follow-up to ADG called Div, Grad, Curl are Dead, which looked very promising with lots of examples, but tragically he died from injuries sustained in a car accident before it could be polished for publication.
Oh well. Either way, I'll have to check it out. I never did get far in Flanders (which left too much implicit, making it difficult to read) and H&H didn't seem to emphasize the E&M applications I was looking for (admittedly I only skimmed it). It appears that said applications are the focus of Bamberg's book, so it would likely be a better fit.
This is not a typical math book - just like Sussman's classes in which you program up physics stuff as you go along is not like a typical physics class.
I don't know if this is true, but at a glance it looks to me like differential geometry could be useful to people in machine learning. Am I right about that? I am probably going to look closer tonight...
As an example application, when sampling from the posterior of a Bayesian model it can help to take this natural geometry of the parameter space into account, e.g. via Riemannian Manifold Hamiltonian Monte Carlo [1]
Then again, from what I've seen most Manifold Learning only uses the word manifold in a loose handwavey sense to motivate what they're doing -- the added abstraction level of differential geometry doesn't always add very much you're just interested in learning smooth functions from R^m -> R^n.
[1] http://www.dcs.gla.ac.uk/publications/PAPERS/9149/RMHMC_MG_B...
Possibly only because of the author.
Discrete diff geom: http://mesh.brown.edu/DGP/pdfs/sg06-course01.pdf
http://books.google.com/books/about/Curvature_in_Mathematics...
For a more classical introduction to differential geometry requiring only multivariate calculus and some real analysis/point set topology, Do Carmo's "Differential Geometry of Curves and Surfaces" is a great textbook.
I put together a summary (key definitions/theorems) from an undergraduate course following Do Carmo at [2].
[1]: http://www.amazon.com/Differential-Geometry-Curves-Surfaces-...
[2]: http://ajtulloch.github.io/PDFs/MATH3968LectureNotes.pdf
Also, at about the same level of difficulty but a different perspective:
http://f3.tiera.ru/2/M_Mathematics/MD_Geometry%20and%20topol...
This summary of the above paper is much more comprehensible: http://ezyang.tumblr.com/post/74405137526/robert-atkey-from-...
As someone who struggles with some areas of mathematics (the ones I wish I paid more attention to in high school because I could be using them now) but who finds more ease with understanding the code examples used in this book, I would love to read more books like this. What other books on mathematics could you recommend to a programmer such as myself?
Are there any books on Linear Algebra or Calculus who take the same approach, to teach using a programming language?
What I would absolutely adore is a wiki styled over the idea of covering mathematical topics in the style of a programming API, and teach it in the same manner. Meaning that someone could use the math as a concept to kludge some code together, or teach it to themselves in this style using the material.
I've been too lazy to start the wiki myself, and not nearly knowledgeable enough to throw together to a few topics to get the ball rolling.
If anyone likes this idea, please steal it, it's something I would love to see.
To be sure, there is a mathematical language, a notation with much ambiguity that is typically ok when conveyed to other humans, because humans are great with ambiguity. This book is attempting to get rid of that ambiguity by rewriting it in notation that does not allow for ambiguity and present it to computers, who are still very bad at ambiguity. But this mathematical language is not mathematics, and there is real substance behind the language itself, just like poems can be translated into other natural languages or algorithms can be written in several programming languages.
Calling mathematics a language confuses form with substance or declares that it's all form and no substance.
Fauconnier & Turner (2002)?
how do I read a book like this? do I copy the code and run scheme? do I translate into my favorite lisp variant?
I have been recently looking into Coq which is getting a lot of attention at UPenn http://www.cis.upenn.edu/~bcpierce/sf/current/Basics.html
I followed the installation instructions exactly and it works fine on my Debian machine. I had to modify the script `/usr/local/bin/mechanics` since I don't have a binary named `xterm` on my path. While I was at it, I made it skip that and just `exec $CMD` as it would do if `$DISPLAY` weren't set.
This `edwin` that it comes with is a weird (faithful) emacs clone that runs under mit-scheme. Emacs18, that is.
I carefully typed in the first few code examples and they ran flawlessly. There even is some gui tool which pops up a rendering of mathematical expressions.
I know differential geometry is, as they say, needed for general relativity, they say also for quantum field theory.