X-Git-Url: http://gitweb.michael.orlitzky.com/?p=sage.d.git;a=blobdiff_plain;f=mjo%2Feja%2FTODO;h=f4b9515c4ed643bd1f9a13c6fc0d6cefa3d32879;hp=1def3d2e9fd8cf381ae743344ce670a13f226438;hb=HEAD;hpb=cc172fbdcd369542f90cf64e31611cf8698bc05a diff --git a/mjo/eja/TODO b/mjo/eja/TODO index 1def3d2..b0d5378 100644 --- a/mjo/eja/TODO +++ b/mjo/eja/TODO @@ -2,19 +2,19 @@ 2. Profile (and fix?) any remaining slow operations. -3. Every once in a long while, the test +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... - sage: set_random_seed() - sage: x = random_eja().random_element() - sage: x.is_invertible() == (x.det() != 0) +4. Add dimension bounds on any tests over AA that compute element + subalgebras. - in eja_element.py returns False. Example: +5. The rational_algebra() stuff doesn't really belong in classes that + don't derive from RationalBasisEJA or its as-yet-nonexistent + element class. - 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 +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.