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::
-class FiniteDimensionalEJASubalgebra(FiniteDimensionalEJA):
+class EJASubalgebra(EJA):
"""
A subalgebra of an EJA with a given basis.
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:
....: [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]
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::
....: [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)
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.
"""
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