]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
eja: use symmetry when constructing multiplication table.
[sage.d.git] / mjo / eja / TODO
index 94fb172aba0dda1d601e7c70ccf4f991749a6fcc..fa05841e38f6ec6f8c51970ac4981bb2d4b2ef67 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.
 
    HadamardEJA could be equipped with an inner- product that is twice
    the usual one. Then for the basis to be orthonormal, we would need
    to divide e.g. (1,0,0) by <(1,0,0),(1,0,0)> = 2 to normalize it.
    HadamardEJA could be equipped with an inner- product that is twice
    the usual one. Then for the basis to be orthonormal, we would need
    to divide e.g. (1,0,0) by <(1,0,0),(1,0,0)> = 2 to normalize it.
+
+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.
+
+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().