-6. The _rational_algebra for a cartesian product should be a cartesian product.
-
-7. Use super() where it works.
+6. Instead of storing a basis multiplication matrix, just make
+ product_on_basis() a cached method and manually cache its
+ entries. The cython cached method lookup should be faster than a
+ python-based matrix lookup anyway.