-1. Add CartesianProductEJA.
+1. Add references and start citing them.
-2. Check the axioms in the constructor when check != False?
+2. Profile (and fix?) any remaining slow operations.
-3. Add references and start citing them.
+3. When we take a Cartesian product involving a trivial algebra, we
+ could easily cache the identity and charpoly coefficients using
+ the nontrivial factor. On the other hand, it's nice that we can
+ test out some alternate code paths...
-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().
+4. Conjecture: if x = (x1,x2), then det(x) = det(x1)det(x2). This
+ should be used to fix the fact that det(x) is monstrously slow in
+ Cartesian product algebras, and thus randomly in the doctests.