]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
COPYING,LICENSE: add (AGPL-3.0+)
[sage.d.git] / mjo / eja / TODO
index 45a9ac06bf2c86020dee102143393e486fa408c5..b0d5378fab6ed7c7c981aaf0fd9a044ca18a1b07 100644 (file)
@@ -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.