`(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
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)