X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feja_subalgebra.py;h=e2d12d26b01a0deaedeb190d450dfd14ede3c262;hb=3baadd6fb5c765caab2bd57d1d6ed764b03d53b3;hp=3b8c67d6176320485ab30549d7cfdbbdc9a48ffa;hpb=88e98ce65ad03a557c001b5f4cd7ba6e76164938;p=sage.d.git diff --git a/mjo/eja/eja_subalgebra.py b/mjo/eja/eja_subalgebra.py index 3b8c67d..e2d12d2 100644 --- a/mjo/eja/eja_subalgebra.py +++ b/mjo/eja/eja_subalgebra.py @@ -1,7 +1,11 @@ from sage.matrix.constructor import matrix -from mjo.eja.eja_algebra import FiniteDimensionalEJA -from mjo.eja.eja_element import FiniteDimensionalEJAElement +from sage.combinat.free_module import CombinatorialFreeModule_CartesianProduct + +from mjo.eja.eja_algebra import (CartesianProductEJA, + FiniteDimensionalEJA) +from mjo.eja.eja_element import (CartesianProductEJAElement, + FiniteDimensionalEJAElement) class FiniteDimensionalEJASubalgebraElement(FiniteDimensionalEJAElement): """ @@ -230,3 +234,24 @@ class FiniteDimensionalEJASubalgebra(FiniteDimensionalEJA): Element = FiniteDimensionalEJASubalgebraElement + + + +class CartesianProductEJASubalgebraElement(CartesianProductEJAElement, + FiniteDimensionalEJASubalgebraElement): + pass + +class CartesianProductEJASubalgebra(CartesianProductEJA, + FiniteDimensionalEJASubalgebra): + + def __init__(self, superalgebra, basis, **kwargs): + CombinatorialFreeModule_CartesianProduct.__init__(self, + superalgebra.cartesian_factors()) + FiniteDimensionalEJASubalgebra.__init__(self, + superalgebra, + basis, + cartesian_product=True, + **kwargs) + + + Element = CartesianProductEJASubalgebraElement