# Mathematica Programming lectures (2018)

Slides and resources for Mathematica Programming lectures. Content:

- Usages as an Advanced Calculator
- Rule Based Programming
- Functional Programming
- Numerical Calculation
- Scope and Package
- Display and FrontEnd
- Tensors and General Relativity

# Mathematica Programming lectures (2014)

Slides for the Mathematica short course at Cambridge (2014). Content:

Rules, functional programming, numerical calculation, scope, package, FrontEnd, MathGR

# How to do GR in Mathematica?

There are in general two ways to do GR in Mathematica:

Use explicit indices, like $ a_0 b^0 + a_1 b^1 + a_2 b^2 + a_3 b^3 $. The implementation is very simple and the code can be understood at a glance. See, for example, Hartle. However, the disadvantage is that, the output result is very long in realistic calculations. And one has to rewrite the long output into abstract indices form by oneself.

Use abstract indices, like $ a_\mu b^\mu $. The code is more technical. My implementation can be found at MathGR. A more powerful, and also much more complicated system is xAct.

See also here for a long list of packages.