X-Git-Url: http://gitweb.michael.orlitzky.com/?p=sage.d.git;a=blobdiff_plain;f=mjo%2Feja%2FTODO;h=f4b9515c4ed643bd1f9a13c6fc0d6cefa3d32879;hp=45a9ac06bf2c86020dee102143393e486fa408c5;hb=HEAD;hpb=cf5e64b70869df65c7bb38888de54b1083e60d45 diff --git a/mjo/eja/TODO b/mjo/eja/TODO index 45a9ac0..b0d5378 100644 --- a/mjo/eja/TODO +++ b/mjo/eja/TODO @@ -1,22 +1,20 @@ 1. Add references and start citing them. -2. Pre-cache charpoly for some more algebras. +2. Profile (and fix?) any remaining slow operations. -3. Profile the construction of "large" matrix algebras (like the - 15-dimensional QuaternionHermitianAlgebra(3)) to find out why - they're so slow. +3. When we take a Cartesian product involving a trivial algebra, we + could easily cache the identity and charpoly coefficients using + the nontrivial factor. On the other hand, it's nice that we can + test out some alternate code paths... -4. What the ever-loving fuck is this shit? +4. Add dimension bounds on any tests over AA that compute element + subalgebras. - sage: O = Octonions(QQ) - sage: e0 = O.monomial(0) - sage: e0*[[[[]]]] - [[[[]]]]*e0 +5. The rational_algebra() stuff doesn't really belong in classes that + don't derive from RationalBasisEJA or its as-yet-nonexistent + element class. -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. +6. Add special det/trace method overrides for the algebras where we + know them? The only reason this might be tricky is because the + obvious solution is to subclass EJAElement, but then we might + collide with e.g. the Cartesian product element subclass.