]> gitweb.michael.orlitzky.com - sage.d.git/blob - mjo/eja/TODO
eja: clean up the TODO list after major refactoring.
[sage.d.git] / mjo / eja / TODO
1 1. Finish DirectSumEJA: add to_matrix(), random_instance(),
2 one()... methods. Make it subclass RationalBasisEuclideanJordanAlgebra.
3 This is not a general direct sum / cartesian product implementation,
4 it's used only with the other rationalbasis algebras (to make non-
5 simple EJAs out of the simple ones).
6
7 2. Add references and start citing them.
8
9 3. Implement the octonion simple EJA.
10
11 4. Pass already_echelonized (default: False) and echelon_basis
12 (default: None) into the subalgebra constructor. The value of
13 already_echelonized can be passed to V.span_of_basis() to save
14 some time, and using e.g. FreeModule_submodule_with_basis_field
15 we may somehow be able to pass the echelon basis straight in to
16 save time.
17
18 This may require supporting "basis" as a list of basis vectors
19 (as opposed to superalgebra elements) in the subalgebra constructor.
20
21 5. Pre-cache charpoly for some small algebras?
22
23 RealSymmetricEJA(4):
24
25 sage: F = J.base_ring()
26 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]
27
28 6. Compute the scalar in the general natural_inner_product() for
29 matrices, so no overrides are necessary.
30
31 7. The main EJA element constructor is happy to convert between
32 e.g. HadamardEJA(3) and JordanSpinEJA(3).
33
34 8. Figure out if CombinatorialFreeModule's use of IndexedGenerators
35 can be used to replace the matrix_basis().
36
37 9. Move the "field" argument to a keyword after basis, jp, and ip.