X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;ds=sidebyside;f=mjo%2Feja%2FTODO;h=b2495b59f3264e5d638a59f6630daa77214cdb50;hb=bd94f055a5fdd9385c4014b74e115a7f5f0223fd;hp=dd671c5fd7ab847a4c635748923bf0cba12a63ad;hpb=ba5ac5253ad25bf78e7655699d6d05630d91c1a5;p=sage.d.git diff --git a/mjo/eja/TODO b/mjo/eja/TODO index dd671c5..b2495b5 100644 --- a/mjo/eja/TODO +++ b/mjo/eja/TODO @@ -1,44 +1,19 @@ -Trace inner product tests: +1. Add CartesianProductEJA. - TESTS: +2. Check the axioms in the constructor when check != False? - The trace inner product is commutative:: +3. Add references and start citing them. - sage: set_random_seed() - sage: J = random_eja() - sage: x = J.random_element(); y = J.random_element() - sage: x.trace_inner_product(y) == y.trace_inner_product(x) - True +4. Implement the octonion simple EJA. - The trace inner product is bilinear:: +5. Factor out the unit-norm basis (and operator symmetry) tests once + all of the algebras pass. - sage: set_random_seed() - sage: J = random_eja() - sage: x = J.random_element() - sage: y = J.random_element() - sage: z = J.random_element() - sage: a = QQ.random_element(); - sage: actual = (a*(x+z)).trace_inner_product(y) - sage: expected = a*x.trace_inner_product(y) + a*z.trace_inner_product(y) - sage: actual == expected - True - sage: actual = x.trace_inner_product(a*(y+z)) - sage: expected = a*x.trace_inner_product(y) + a*x.trace_inner_product(z) - sage: actual == expected - True +6. Implement spectral projector decomposition for EJA operators + using jordan_form() or eigenmatrix_right(). I suppose we can + ignore the problem of base rings for now and just let it crash + if we're not using AA as our base field. - The trace inner product is associative:: - - sage: pass - - The trace inner product satisfies the compatibility - condition in the definition of a Euclidean Jordan algebra: - - sage: set_random_seed() - sage: J = random_eja() - sage: x = J.random_element() - sage: y = J.random_element() - sage: z = J.random_element() - sage: (x*y).trace_inner_product(z) == y.trace_inner_product(x*z) - True - \ No newline at end of file +7. Do we really need to orthonormalize the basis in a subalgebra? + So long as we can decompose the operator (which is invariant + under changes of basis), who cares?