]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/TODO
eja: update todo, and rename "natural" to "matrix".
[sage.d.git] / mjo / eja / TODO
index f09191e3890ea4589ccc5fae3da3e27c2a23b6b8..f0901ca91b793debc4877a8ee5a670d240fa51fc 100644 (file)
 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.
 
    This may require supporting "basis" as a list of basis vectors
    (as opposed to superalgebra elements) in the subalgebra constructor.
 
    we may somehow be able to pass the echelon basis straight in to
    save time.
 
    This may require supporting "basis" as a list of basis vectors
    (as opposed to superalgebra elements) in the subalgebra constructor.
 
-7. Use charpoly for inverse stuff if it's cached.
+7. The inner product should be an *argument* to the main EJA
+   constructor.  Afterwards, the basis normalization step should be
+   optional (and enabled by default) for ALL algebras, since any
+   algebra can have a nonstandard inner-product and its basis can be
+   normalized with respect to that inner- product. For example, the
+   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?
+
+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().