]> gitweb.michael.orlitzky.com - sage.d.git/blob - mjo/eja/TODO
eja: factor out a class for real-embedded matrices.
[sage.d.git] / mjo / eja / TODO
1 1. Add cartesian products to random_eja().
2
3 2. Add references and start citing them.
4
5 3. Implement the octonion simple EJA. We don't actually need octonions
6 for this to work, only their real embedding (some 8x8 monstrosity).
7
8 4. Pre-cache charpoly for some small algebras?
9
10 RealSymmetricEJA(4):
11
12 sage: F = J.base_ring()
13 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]
14
15 5. Profile the construction of "large" matrix algebras (like the
16 15-dimensional QuaternionHermitianAlgebra(3)) to find out why
17 they're so slow.
18
19 6. Instead of storing a basis multiplication matrix, just make
20 product_on_basis() a cached method and manually cache its
21 entries. The cython cached method lookup should be faster than a
22 python-based matrix lookup anyway.
23
24 7. What the ever-loving fuck is this shit?
25
26 sage: O = Octonions(QQ)
27 sage: e0 = O.monomial(0)
28 sage: e0*[[[[]]]]
29 [[[[]]]]*e0
30
31 8. In fact, could my octonion matrix algebra be generalized for any
32 algebra of matrices over the reals whose entries are not real? Then
33 we wouldn't need real embeddings at all. They might even be fricking
34 vector spaces if I did that...
35
36 9. Add HurwitzMatrixAlgebra subclass between MatrixAlgebra and
37 OctonionMatrixAlgebra.