]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
eja: add another performance TODO.
[sage.d.git] / mjo / eja / TODO
index 529f70fd633bf36275c63282a05614f1109a7df0..6223bff9331ba3144cbfdd8fbdd8fe616139a230 100644 (file)
@@ -2,24 +2,14 @@
 
 2. Profile (and fix?) any remaining slow operations.
 
 
 2. Profile (and fix?) any remaining slow operations.
 
-3. 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. Example:
-
-       sage: J1 = ComplexHermitianEJA(2)
-       sage: J2 = TrivialEJA()
-       sage: J = cartesian_product([J1,J2])
-       sage: x = J.from_vector(vector(QQ, [-1, -1/2, -1/2, -1/2]))
-       sage: x.is_invertible()
-       True
-       sage: x.det()
-       0
-
-4. When we take a Cartesian product involving a trivial algebra, we
+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...
    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. Can we hit "x" with the deortho matrix and delegate to the
+   _rational_algebra to speed up minimal_polynomial?
+
+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.