+A. Make the subalgebra class work with any subalgebra (there's nothing
+ special except a_regular_element() in there).
+
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. Can we make the minimal and characteristic polynomial tests work
+ for trivial algebras, too? Then we wouldn't need the "nontrivial"
+ argument to random_eja().