]> gitweb.michael.orlitzky.com - sage.d.git/blob - mjo/eja/TODO
eja: move the "field" argument to (usually passed through) kwargs.
[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. Pre-cache charpoly for some small algebras?
12
13 RealSymmetricEJA(4):
14
15 sage: F = J.base_ring()
16 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]
17
18 5. Compute the scalar in the general natural_inner_product() for
19 matrices, so no overrides are necessary.
20
21 6. The main EJA element constructor is happy to convert between
22 e.g. HadamardEJA(3) and JordanSpinEJA(3).
23
24 7. Figure out if CombinatorialFreeModule's use of IndexedGenerators
25 can be used to replace the matrix_basis().
26
27 9. Add back the check_field=False and check_axioms=False parameters
28 for the EJAs we've constructed ourselves.