The usual tensor product of vectors is a matrix. There has been tons of research into efficiently storing and operating on matrices in computers.
But we can generalize the tensor product quite a bit. For example, a monoid is like a vector that's forgotten a lot of it's properties. The only structure it has is associative addition. We can take the tensor product of two monoids to be the "most general, generalized bilinear operator." See this paper for an example on the constructing their tensor product in the commutative case.
My question is: what are some efficient data structures for representing these generalized tensor products on a computer?