]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
README: rewrite it, it was rather out-of-date
[sage.d.git] / mjo / eja / TODO
index 529f70fd633bf36275c63282a05614f1109a7df0..b0d5378fab6ed7c7c981aaf0fd9a044ca18a1b07 100644 (file)
@@ -2,24 +2,19 @@
 
 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. Add dimension bounds on any tests over AA that compute element
+   subalgebras.
+
+5. The rational_algebra() stuff doesn't really belong in classes that
+   don't derive from RationalBasisEJA or its as-yet-nonexistent
+   element class.
+
+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.