]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
eja: add more examples.
authorMichael Orlitzky <michael@orlitzky.com>
Thu, 25 Feb 2021 14:07:32 +0000 (09:07 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Thu, 25 Feb 2021 14:07:32 +0000 (09:07 -0500)
mjo/eja/eja_algebra.py

index a8e16ec94aaa628f26533f654f33468f6a3eace4..d38ba87d37d3e6bdb01e23c7a9631bf98ee2c96c 100644 (file)
@@ -51,15 +51,15 @@ class FiniteDimensionalEJA(CombinatorialFreeModule):
         `(a,b)` into column matrices `(a,b)^{T}` after converting
         `a` and `b` themselves.
 
-      - jordan_product -- function of two elements (in matrix form)
-        that returns their jordan product in this algebra; this will
-        be applied to ``basis`` to compute a multiplication table for
-        the algebra.
-
-      - inner_product -- function of two elements (in matrix form) that
-        returns their inner product. This will be applied to ``basis`` to
-        compute an inner-product table (basically a matrix) for this algebra.
-
+      - jordan_product -- function of two ``basis`` elements (in
+        matrix form) that returns their jordan product, also in matrix
+        form; this will be applied to ``basis`` to compute a
+        multiplication table for the algebra.
+
+      - inner_product -- function of two ``basis`` elements (in matrix
+        form) that returns their inner product. This will be applied
+        to ``basis`` to compute an inner-product table (basically a
+        matrix) for this algebra.
     """
     Element = FiniteDimensionalEJAElement
 
@@ -828,12 +828,49 @@ class FiniteDimensionalEJA(CombinatorialFreeModule):
         we think of them as matrices (including column vectors of the
         appropriate size).
 
-        Generally this will be an `n`-by-`1` column-vector space,
+        "By default" this will be an `n`-by-`1` column-matrix space,
         except when the algebra is trivial. There it's `n`-by-`n`
         (where `n` is zero), to ensure that two elements of the matrix
-        space (empty matrices) can be multiplied.
+        space (empty matrices) can be multiplied. For algebras of
+        matrices, this returns the space in which their
+        real embeddings live.
+
+        SETUP::
+
+            sage: from mjo.eja.eja_algebra import (ComplexHermitianEJA,
+            ....:                                  JordanSpinEJA,
+            ....:                                  QuaternionHermitianEJA,
+            ....:                                  TrivialEJA)
+
+        EXAMPLES:
+
+        By default, the matrix representation is just a column-matrix
+        equivalent to the vector representation::
+
+            sage: J = JordanSpinEJA(3)
+            sage: J.matrix_space()
+            Full MatrixSpace of 3 by 1 dense matrices over Algebraic
+            Real Field
+
+        The matrix representation in the trivial algebra is
+        zero-by-zero instead of the usual `n`-by-one::
+
+            sage: J = TrivialEJA()
+            sage: J.matrix_space()
+            Full MatrixSpace of 0 by 0 dense matrices over Algebraic
+            Real Field
+
+        The matrix space for complex/quaternion Hermitian matrix EJA
+        is the space in which their real-embeddings live, not the
+        original complex/quaternion matrix space::
+
+            sage: J = ComplexHermitianEJA(2,field=QQ,orthonormalize=False)
+            sage: J.matrix_space()
+            Full MatrixSpace of 4 by 4 dense matrices over Rational Field
+            sage: J = QuaternionHermitianEJA(1,field=QQ,orthonormalize=False)
+            sage: J.matrix_space()
+            Full MatrixSpace of 4 by 4 dense matrices over Rational Field
 
-        Matrix algebras override this with something more useful.
         """
         if self.is_trivial():
             return MatrixSpace(self.base_ring(), 0)