Journal: Feb 26, 2009

Bryan Newbold, bnewbold@mit.edu
http://web.mit.edu/bnewbold/thesis/

I've started writing some things up, look in the draft folder. Very rough, just putting down ideas to see what structure emerges.

Type Hierarchies

The sage math rough documentation on coercion and arithmetic is at http://www.sagemath.org/doc/prog/node22.html. It mostly uses the python object system with a variety of Fields to handle arbitrary precision numerical data (RealField and ComplexField can be specified by precision).

AXIOM has great graphs of their huge algebraic hierarchy (warning: large slow svg files!): abreviated category and domain, everything?.
Axiom uses strict type checking (everything gets compiled down?); every type is a category which allows for checking of properties and mathematical correctness. The interpreter guesses what type/category user input should be. There is a good overview here. To paraphrase: every object is of a single type called it's domain ("domain of computation", eg "String", "Float". Domains themselves have a type called a Category (disclaimer: I don't know anything about category theory). The Categories for hierarchies ("directed acyclic graphs"), eg:

SetCategory +---- Ring       ---- IntegralDomain ---- Field
            |
            +---- Finite     ---+
            |                    \
            +---- OrderedSet -----+ OrderedFinite
Packages are special domains which just have associated polymorphic operators (so they are generic on inputs?).
From the documentation: "Roman numerals are also available for those special occasions."
Interesting stuff! The main book explains a lot about how types are coerced together for operations etc.

Singular has a list of types here ; it includes: bigint def ideal int intmat intvec link list map matrix module number package poly proc qring resolution ring string vector.

Cadabra is an interactive C++ system designed specifically for tensor manipulation in physics (usually HEP?). It describes some of it's important features as:

With respect to some sort of absolute mathematical type hierarchy, one of my favorite papers by Max Tegmark ("The Mathematical Universe"):

Tools Needed

Basic multivariable calculus tools to be extended for differential geometry:
integral
derivative
partial derivative
curl
divergence
taylor expansion
Eg, (taylor function variable point number) would give a list of the first *number* terms of the taylor expansion of *function* by *variable* around *point*.

(previous entry) - (next entry)