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