X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2FTODO;h=45a9ac06bf2c86020dee102143393e486fa408c5;hb=e6bb7aba7677a04c3aaa4d1fdd9dd45185db2067;hp=382fb6e67d6050dd6e8215ad2d371a5be3022057;hpb=403848519cc35245713ffb96b2372deb1ee1c621;p=sage.d.git diff --git a/mjo/eja/TODO b/mjo/eja/TODO index 382fb6e..45a9ac0 100644 --- a/mjo/eja/TODO +++ b/mjo/eja/TODO @@ -1,17 +1,22 @@ -1. Add CartesianProductEJA. +1. Add references and start citing them. -2. Check the axioms in the constructor when check != False? +2. Pre-cache charpoly for some more algebras. -3. Add references and start citing them. +3. Profile the construction of "large" matrix algebras (like the + 15-dimensional QuaternionHermitianAlgebra(3)) to find out why + they're so slow. -4. Implement the octonion simple EJA. +4. What the ever-loving fuck is this shit? -5. Factor out the Jordan axiom and norm tests once all of the - algebras pass. + sage: O = Octonions(QQ) + sage: e0 = O.monomial(0) + sage: e0*[[[[]]]] + [[[[]]]]*e0 -6. Create Element subclasses for the matrix EJAs, and then override - their characteristic_polynomial() method to create a new algebra - over the rationals (with a non-normalized basis). We can then - compute the charpoly quickly by passing the natural representation - of the given element into the new algebra and computing its charpoly - there. (Relies on the theory to ensure that the charpolys are equal.) \ No newline at end of file +5. Every once in a long while, the test + + sage: set_random_seed() + sage: x = random_eja().random_element() + sage: x.is_invertible() == (x.det() != 0) + + in eja_element.py returns False.