# Revision history [back]

You can do:

sage: M = CartesianProduct(M1, M1, M2)
sage: M
Cartesian product of Full MatrixSpace of 1 by 1 dense matrices over Rational Field, Full MatrixSpace of 1 by 1 dense matrices over Rational Field, Full MatrixSpace of 2 by 2 dense matrices over Rational Field


But then you will lose the algebra structure:

sage: M.category()
Category of enumerated sets
sage: M1.category()
Category of algebras over Rational Field


It should be possible to keep this structure by doing something like:

sage: M1.cartesian_product(M1,M2)


But then you will get an

AttributeError: type object 'MatrixSpace' has no attribute 'CartesianProduct'