]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
eja: add a TODO for tomorrow.
[sage.d.git] / mjo / eja / TODO
index 529f70fd633bf36275c63282a05614f1109a7df0..bb2b7f30069dda7ba5b1c63ec7062f1ab397c596 100644 (file)
@@ -2,24 +2,16 @@
 
 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.
+
+6. Eliminate the matrix_space() override in CartesianProductEJA.