]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
eja: fix a randomly-failing test.
[sage.d.git] / mjo / eja / TODO
index 266015647f50bf17e7546fe4d191b99d9e3655ba..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
    matrices, so no overrides are necessary.
 
 9. Compute the scalar in the general natural_inner_product() for
    matrices, so no overrides are necessary.
 
-10. Eliminate "natural representation" for non-matrix algebras.
-
-11. The main EJA element constructor is happy to convert between
+10. The main EJA element constructor is happy to convert between
     e.g. HadamardEJA(3) and JordanSpinEJA(3).
     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.