]> gitweb.michael.orlitzky.com - sage.d.git/blob - mjo/eja/TODO
eja: update the DESIGN and TODO documents.
[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 8. Add back the check_field=False and check_axioms=False parameters
25 for the EJAs we've constructed ourselves.