-7. If we factor out a "matrix algebra" class, then it would make sense
- to replace the custom embedding/unembedding functions with static
- _real_embedding() and _real_unembedding() methods.
+5. Profile the construction of "large" matrix algebras (like the
+ 15-dimensional QuaternionHermitianAlgebra(3)) to find out why
+ they're so slow.
+
+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.
+
+7. What the ever-loving fuck is this shit?
+
+ sage: O = Octonions(QQ)
+ sage: e0 = O.monomial(0)
+ sage: e0*[[[[]]]]
+ [[[[]]]]*e0