X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=mjo%2Feja%2Feja_element.py;h=6997766319798e5188683972c303ce450f0303e3;hb=a900f5daa84d0889ce7c1e041fb214a09e8d7bcd;hp=bef1289bbdd3820b990cf0b3ae0f4ff7334f3b01;hpb=607ba10dfea185af919a1f60b3ec7c7432d93b2b;p=sage.d.git diff --git a/mjo/eja/eja_element.py b/mjo/eja/eja_element.py index bef1289..6997766 100644 --- a/mjo/eja/eja_element.py +++ b/mjo/eja/eja_element.py @@ -289,30 +289,32 @@ class FiniteDimensionalEJAElement(IndexedFreeModuleElement): Test the second polarization identity from my notes or from Baes (2.4):: - sage: x,y,z = random_eja().random_elements(3) - sage: Lx = x.operator() - sage: Ly = y.operator() - sage: Lz = z.operator() - sage: Lzy = (z*y).operator() - sage: Lxy = (x*y).operator() - sage: Lxz = (x*z).operator() - sage: bool(Lx*Lzy + Lz*Lxy + Ly*Lxz == Lzy*Lx + Lxy*Lz + Lxz*Ly) + sage: x,y,z = random_eja().random_elements(3) # long time + sage: Lx = x.operator() # long time + sage: Ly = y.operator() # long time + sage: Lz = z.operator() # long time + sage: Lzy = (z*y).operator() # long time + sage: Lxy = (x*y).operator() # long time + sage: Lxz = (x*z).operator() # long time + sage: lhs = Lx*Lzy + Lz*Lxy + Ly*Lxz # long time + sage: rhs = Lzy*Lx + Lxy*Lz + Lxz*Ly # long time + sage: bool(lhs == rhs) # long time True Test the third polarization identity from my notes or from Baes (2.5):: - sage: u,y,z = random_eja().random_elements(3) - sage: Lu = u.operator() - sage: Ly = y.operator() - sage: Lz = z.operator() - sage: Lzy = (z*y).operator() - sage: Luy = (u*y).operator() - sage: Luz = (u*z).operator() - sage: Luyz = (u*(y*z)).operator() - sage: lhs = Lu*Lzy + Lz*Luy + Ly*Luz - sage: rhs = Luyz + Ly*Lu*Lz + Lz*Lu*Ly - sage: bool(lhs == rhs) + sage: u,y,z = random_eja().random_elements(3) # long time + sage: Lu = u.operator() # long time + sage: Ly = y.operator() # long time + sage: Lz = z.operator() # long time + sage: Lzy = (z*y).operator() # long time + sage: Luy = (u*y).operator() # long time + sage: Luz = (u*z).operator() # long time + sage: Luyz = (u*(y*z)).operator() # long time + sage: lhs = Lu*Lzy + Lz*Luy + Ly*Luz # long time + sage: rhs = Luyz + Ly*Lu*Lz + Lz*Lu*Ly # long time + sage: bool(lhs == rhs) # long time True """ @@ -482,10 +484,12 @@ class FiniteDimensionalEJAElement(IndexedFreeModuleElement): of an element is the inverse of its left-multiplication operator applied to the algebra's identity, when that inverse exists:: - sage: J = random_eja() - sage: x = J.random_element() - sage: (not x.operator().is_invertible()) or ( - ....: x.operator().inverse()(J.one()) == x.inverse() ) + sage: J = random_eja() # long time + sage: x = J.random_element() # long time + sage: (not x.operator().is_invertible()) or ( # long time + ....: x.operator().inverse()(J.one()) # long time + ....: == # long time + ....: x.inverse() ) # long time True Check that the fast (cached) and slow algorithms give the same @@ -974,9 +978,9 @@ class FiniteDimensionalEJAElement(IndexedFreeModuleElement): The minimal polynomial should always kill its element:: - sage: x = random_eja().random_element() - sage: p = x.minimal_polynomial() - sage: x.apply_univariate_polynomial(p) + sage: x = random_eja().random_element() # long time + sage: p = x.minimal_polynomial() # long time + sage: x.apply_univariate_polynomial(p) # long time 0 The minimal polynomial is invariant under a change of basis,