1. Add CartesianProductEJA.
2. Check the axioms in the constructor when check != False?
+
+3. Add references and start citing them.
+
+4. Implement the octonion simple EJA.
+
+5. Factor out the unit-norm basis (and operator symmetry) tests once
+ all of the algebras pass.
+
+6. Override inner_product(), _max_test_case_size(), et cetera in
+ DirectSumEJA.
+
+7. Switch to QQ in *all* algebras for _charpoly_coefficients().