-1. Finish CartesianProductEJA: add to_matrix(),
- random_instance(),... methods. This will require rethinking what a
- "matrix representation" and "matrix space" means for a cartesian
- product algebra. Do we want our matrix basis to consist of ordered
- pairs (or triples, or...)? Should the matrix_space() of the algebra
- be the cartesian product of the factors' matrix spaces? Can we just
- fix the matrix basis/space after we call the FDEJA initializer?