From 3734e050b5508ec030478c497ddb8a6cd8d53327 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Fri, 5 Jul 2019 19:28:08 -0400 Subject: [PATCH] eja: add placeholder constructors for all simple EJAs. --- mjo/eja/euclidean_jordan_algebra.py | 58 +++++++++++++++++------------ 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/mjo/eja/euclidean_jordan_algebra.py b/mjo/eja/euclidean_jordan_algebra.py index 8dedc4f..16ce256 100644 --- a/mjo/eja/euclidean_jordan_algebra.py +++ b/mjo/eja/euclidean_jordan_algebra.py @@ -727,32 +727,44 @@ def _multiplication_table_from_matrix_basis(basis): return Qs -def random_eja(): +def RealSymmetricSimpleEJA(n): """ - Return a "random" finite-dimensional Euclidean Jordan Algebra. - - ALGORITHM: - - For now, we choose a random natural number ``n`` (greater than zero) - and then give you back one of the following: - - * The cartesian product of the rational numbers ``n`` times; this is - ``QQ^n`` with the Hadamard product. - - * The Jordan spin algebra on ``QQ^n``. - - * The ``n``-by-``n`` rational symmetric matrices with the symmetric - product. + The rank-n simple EJA consisting of real symmetric n-by-n + matrices, the usual symmetric Jordan product, and the trace inner + product. It has dimension `(n^2 + n)/2` over the reals. + """ + pass - Later this might be extended to return Cartesian products of the - EJAs above. +def ComplexHermitianSimpleEJA(n): + """ + The rank-n simple EJA consisting of complex Hermitian n-by-n + matrices over the real numbers, the usual symmetric Jordan product, + and the real-part-of-trace inner product. It has dimension `n^2 over + the reals. + """ + pass - TESTS:: +def QuaternionHermitianSimpleEJA(n): + """ + The rank-n simple EJA consisting of self-adjoint n-by-n quaternion + matrices, the usual symmetric Jordan product, and the + real-part-of-trace inner product. It has dimension `2n^2 - n` over + the reals. + """ + pass - sage: random_eja() - Euclidean Jordan algebra of degree... +def OctonionHermitianSimpleEJA(n): + """ + This shit be crazy. It has dimension 27 over the reals. + """ + n = 3 + pass +def JordanSpinSimpleEJA(n): """ - n = ZZ.random_element(1,10).abs() - constructor = choice([eja_rn, eja_ln, eja_sn]) - return constructor(dimension=n, field=QQ) + The rank-2 simple EJA consisting of real vectors ``x=(x0, x_bar)`` + with the usual inner product and jordan product ``x*y = + (, x0*y_bar + y0*x_bar)``. It has dimension `n` over + the reals. + """ + pass -- 2.44.2