]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
eja: add a TODO for tomorrow.
[sage.d.git] / mjo / eja / TODO
index 45a9ac06bf2c86020dee102143393e486fa408c5..bb2b7f30069dda7ba5b1c63ec7062f1ab397c596 100644 (file)
@@ -1,22 +1,17 @@
 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. Can we hit "x" with the deortho matrix and delegate to the
+   _rational_algebra to speed up minimal_polynomial?
 
-       sage: O = Octonions(QQ)
-       sage: e0 = O.monomial(0)
-       sage: e0*[[[[]]]]
-       [[[[]]]]*e0
+5. In CartesianProductEJA we already know the multiplication table and
+   inner product matrix. Refactor things until it's no longer
+   necessary to duplicate that work.
 
-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. Eliminate the matrix_space() override in CartesianProductEJA.