X-Git-Url: http://gitweb.michael.orlitzky.com/?p=sage.d.git;a=blobdiff_plain;f=mjo%2Feja%2Feja_subalgebra.py;h=ca8efa1fd410b8f5f3f6d177b62779b1a24ccaf5;hp=c9abada53cf3fbd3803601fa0e7b430a0b506fd1;hb=HEAD;hpb=02bb28968221a0f077b49205e2746abd8c5450d9 diff --git a/mjo/eja/eja_subalgebra.py b/mjo/eja/eja_subalgebra.py index c9abada..97a7978 100644 --- a/mjo/eja/eja_subalgebra.py +++ b/mjo/eja/eja_subalgebra.py @@ -1,11 +1,11 @@ from sage.matrix.constructor import matrix from sage.misc.cachefunc import cached_method -from mjo.eja.eja_algebra import FiniteDimensionalEJA -from mjo.eja.eja_element import (FiniteDimensionalEJAElement, +from mjo.eja.eja_algebra import EJA +from mjo.eja.eja_element import (EJAElement, CartesianProductParentEJAElement) -class FiniteDimensionalEJASubalgebraElement(FiniteDimensionalEJAElement): +class EJASubalgebraElement(EJAElement): """ SETUP:: @@ -88,7 +88,7 @@ class FiniteDimensionalEJASubalgebraElement(FiniteDimensionalEJAElement): -class FiniteDimensionalEJASubalgebra(FiniteDimensionalEJA): +class EJASubalgebra(EJA): """ A subalgebra of an EJA with a given basis. @@ -97,7 +97,7 @@ class FiniteDimensionalEJASubalgebra(FiniteDimensionalEJA): sage: from mjo.eja.eja_algebra import (ComplexHermitianEJA, ....: JordanSpinEJA, ....: RealSymmetricEJA) - sage: from mjo.eja.eja_subalgebra import FiniteDimensionalEJASubalgebra + sage: from mjo.eja.eja_subalgebra import EJASubalgebra EXAMPLES: @@ -109,11 +109,11 @@ class FiniteDimensionalEJASubalgebra(FiniteDimensionalEJA): ....: [0,0] ]) sage: E22 = matrix(AA, [ [0,0], ....: [0,1] ]) - sage: K1 = FiniteDimensionalEJASubalgebra(J, (J(E11),), associative=True) + sage: K1 = EJASubalgebra(J, (J(E11),), associative=True) sage: K1.one().to_matrix() [1 0] [0 0] - sage: K2 = FiniteDimensionalEJASubalgebra(J, (J(E22),), associative=True) + sage: K2 = EJASubalgebra(J, (J(E22),), associative=True) sage: K2.one().to_matrix() [0 0] [0 1] @@ -185,7 +185,7 @@ class FiniteDimensionalEJASubalgebra(FiniteDimensionalEJA): SETUP:: sage: from mjo.eja.eja_algebra import RealSymmetricEJA - sage: from mjo.eja.eja_subalgebra import FiniteDimensionalEJASubalgebra + sage: from mjo.eja.eja_subalgebra import EJASubalgebra EXAMPLES:: @@ -195,7 +195,7 @@ class FiniteDimensionalEJASubalgebra(FiniteDimensionalEJA): ....: [1,0,0] ]) sage: x = J(X) sage: basis = ( x, x^2 ) # x^2 is the identity matrix - sage: K = FiniteDimensionalEJASubalgebra(J, + sage: K = EJASubalgebra(J, ....: basis, ....: associative=True, ....: orthonormalize=False) @@ -256,25 +256,26 @@ class FiniteDimensionalEJASubalgebra(FiniteDimensionalEJA): True """ - from mjo.eja.eja_operator import FiniteDimensionalEJAOperator + from mjo.eja.eja_operator import EJAOperator mm = self._module_morphism(lambda j: self.superalgebra()(self.monomial(j).to_matrix()), codomain=self.superalgebra()) - return FiniteDimensionalEJAOperator(self, + return EJAOperator(self, self.superalgebra(), mm.matrix()) - Element = FiniteDimensionalEJASubalgebraElement + Element = EJASubalgebraElement -class FiniteDimensionalCartesianProductEJASubalgebraElement(FiniteDimensionalEJASubalgebraElement, CartesianProductParentEJAElement): +class CartesianProductEJASubalgebraElement(EJASubalgebraElement, + CartesianProductParentEJAElement): r""" The class for elements that both belong to a subalgebra and have a Cartesian product algebra as their parent. By inheriting :class:`CartesianProductParentEJAElement` in addition to - :class:`FiniteDimensionalEJASubalgebraElement`, we allow the + :class:`EJASubalgebraElement`, we allow the ``to_matrix()`` method to be overridden with the version that works on Cartesian products. @@ -297,10 +298,10 @@ class FiniteDimensionalCartesianProductEJASubalgebraElement(FiniteDimensionalEJA """ pass -class FiniteDimensionalCartesianProductEJASubalgebra(FiniteDimensionalEJASubalgebra): +class CartesianProductEJASubalgebra(EJASubalgebra): r""" Subalgebras whose parents are Cartesian products. Exists only to specify a special element class that will (in addition) inherit from ``CartesianProductParentEJAElement``. """ - Element = FiniteDimensionalCartesianProductEJASubalgebraElement + Element = CartesianProductEJASubalgebraElement