+class FiniteDimensionalEJA_CartesianProduct(CartesianProductEJA):
+ r"""
+ A wrapper around the :class:`CartesianProductEJA` class that gets
+ used by the ``cartesian_product`` functor. Its one job is to set
+ ``orthonormalize=False``, since ``cartesian_product()`` can't be
+ made to pass that option through. And if we try to orthonormalize
+ over the rationals, we get conversion errors. If you want a non-
+ standard Jordan product or inner product, or if you want to
+ orthonormalize the basis, use :class:`CartesianProductEJA`
+ directly.
+ """
+ def __init__(self, modules, **options):
+ CombinatorialFreeModule_CartesianProduct.__init__(self,
+ modules,
+ **options)
+ CartesianProductEJA.__init__(self, modules, orthonormalize=False)
+
+
+FiniteDimensionalEJA.CartesianProduct = FiniteDimensionalEJA_CartesianProduct