]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
eja: fix a randomly-failing test.
[sage.d.git] / mjo / eja / TODO
index 87cdcbcb57c781449590f999b0f14589da705d0e..cbe1d95801e9a098b36c75cf2548da460750ac03 100644 (file)
@@ -14,7 +14,7 @@
 6. Pass already_echelonized (default: False) and echelon_basis
    (default: None) into the subalgebra constructor. The value of
    already_echelonized can be passed to V.span_of_basis() to save
 6. Pass already_echelonized (default: False) and echelon_basis
    (default: None) into the subalgebra constructor. The value of
    already_echelonized can be passed to V.span_of_basis() to save
-   some time, and usinf e.g. FreeModule_submodule_with_basis_field
+   some time, and using e.g. FreeModule_submodule_with_basis_field
    we may somehow be able to pass the echelon basis straight in to
    save time.
 
    we may somehow be able to pass the echelon basis straight in to
    save time.
 
 
 8. Pre-cache charpoly for some small algebras?
 
 
 8. Pre-cache charpoly for some small algebras?
 
+RealSymmetricEJA(4):
+
+sage: F = J.base_ring()
+sage: a0 = (1/4)*X[4]**2*X[6]**2 - (1/2)*X[2]*X[5]*X[6]**2 - (1/2)*X[3]*X[4]*X[6]*X[7] + (F(2).sqrt()/2)*X[1]*X[5]*X[6]*X[7] + (1/4)*X[3]**2*X[7]**2 - (1/2)*X[0]*X[5]*X[7]**2 + (F(2).sqrt()/2)*X[2]*X[3]*X[6]*X[8] - (1/2)*X[1]*X[4]*X[6*X[8] - (1/2)*X[1]*X[3]*X[7]*X[8] + (F(2).sqrt()/2)*X[0]*X[4]*X[7]*X[8] + (1/4)*X[1]**2*X[8]**2 - (1/2)*X[0]*X[2]*X[8]**2 - (1/2)*X[2]*X[3]**2*X[9] + (F(2).sqrt()/2)*X[1]*X[3]*X[4]*X[9] - (1/2)*X[0]*X[4]**2*X[9] - (1/2)*X[1]**2*X[5]*X[9] + X[0]*X[2]*X[5]*X[9]
+
 9. Compute the scalar in the general natural_inner_product() for
 9. Compute the scalar in the general natural_inner_product() for
-   matrices, so no overrides are necessary.
\ No newline at end of file
+   matrices, so no overrides are necessary.
+
+10. The main EJA element constructor is happy to convert between
+    e.g. HadamardEJA(3) and JordanSpinEJA(3).
+
+11. Figure out if CombinatorialFreeModule's use of IndexedGenerators
+    can be used to replace the matrix_basis().
+
+12. Don't pass in an n-by-n multiplication/i-p table since only the
+    lower-left half is used.
+
+13. Move the "field" argument to a keyword after basis, jp, and ip.
+
+14. Instead of storing the multiplication and inner-product tables in
+    RationalBasisEuclideanJordanAlgebra, why not just create the
+    algebra over QQ in the constructor and save that? They're globally
+    unique, so we won't wind up with multiple copies.