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