Hmm... Geometric Algebra.
It looks like a very promising tool for programming related to physics, geometry, and graphics. It would be interesting to hear from people who've applied it to real-world programming problems.
An overwhelmingly compelling motivation for switching the geometrical foundations of mathematical physics to GeometricAlgebra/CliffordAlgebra is provided in the manifesto by DavidHestenesOerstedMedalLecture 2002: "Reforming the Mathematical Language of Physics"; the following is a key excerpt showing nine areas that are thus unified. -- DougMerritt
"Limitations of mathematics are evident in the fact that the analytic geometry that provides the foundation for classical mechanics is insufficient for General Relativity. This should alert one to the possibility of other conceptual limits in the mathematics used by physicists. Since Newton's day a variety of different symbolic systems have been invented to address problems in different contexts. Figure 1 [bullet list below] lists nine such systems in use by physicists today. Few physicists are proficient with all of them, but each system has advantages over the others in some application domain. For example, for applications to rotations, quaternions are demonstrably more efficient than the vectorial and matrix methods taught in standard physics courses. The difference hardly matters in the world of academic exercises, but in the aerospace industry, for instance, where rotations are bread and butter, engineers opt for quaternions."
"Each of the mathematical systems in Fig. 1 incorporates some aspect of geometry. Taken together, they constitute a highly redundant system of multiple representations for geometric concepts that are essential in physics. As a mathematical language for physics, this Babel of mathematical tongues has the following defects:
Some relevant links have been moved to CliffordAlgebraResources.
See also CliffordAlgebra, in particular for discussion of why the algebra has two names. See also QuaternionMathematics ComplexNumbers MatrixAnalysis