]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
eja: rename operator_inner_product -> operator_trace inner_product.
[sage.d.git] / mjo / eja / TODO
index 529f70fd633bf36275c63282a05614f1109a7df0..b0d5378fab6ed7c7c981aaf0fd9a044ca18a1b07 100644 (file)
@@ -2,24 +2,19 @@
 
 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...
+
+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.