]> gitweb.michael.orlitzky.com - sage.d.git/blobdiff - mjo/eja/eja_element.py
eja: declare a utf-8 encoding and use it to write Korányi.
[sage.d.git] / mjo / eja / eja_element.py
index c2f9fe652851fa4dc2ce519856160efc221debcc..eee8f69bd76ddfba49e3cb4531f55d0e970ebd1d 100644 (file)
@@ -1,3 +1,5 @@
+# -*- coding: utf-8 -*-
+
 from itertools import izip
 
 from sage.matrix.constructor import matrix
 from itertools import izip
 
 from sage.matrix.constructor import matrix
@@ -34,7 +36,7 @@ class FiniteDimensionalEuclideanJordanAlgebraElement(IndexedFreeModuleElement):
         Return ``self`` raised to the power ``n``.
 
         Jordan algebras are always power-associative; see for
         Return ``self`` raised to the power ``n``.
 
         Jordan algebras are always power-associative; see for
-        example Faraut and Koranyi, Proposition II.1.2 (ii).
+        example Faraut and Korányi, Proposition II.1.2 (ii).
 
         We have to override this because our superclass uses row
         vectors instead of column vectors! We, on the other hand,
 
         We have to override this because our superclass uses row
         vectors instead of column vectors! We, on the other hand,
@@ -375,7 +377,7 @@ class FiniteDimensionalEuclideanJordanAlgebraElement(IndexedFreeModuleElement):
             True
 
         Ensure that the determinant is multiplicative on an associative
             True
 
         Ensure that the determinant is multiplicative on an associative
-        subalgebra as in Faraut and Koranyi's Proposition II.2.2::
+        subalgebra as in Faraut and Korányi's Proposition II.2.2::
 
             sage: set_random_seed()
             sage: J = random_eja().random_element().subalgebra_generated_by()
 
             sage: set_random_seed()
             sage: J = random_eja().random_element().subalgebra_generated_by()
@@ -460,6 +462,17 @@ class FiniteDimensionalEuclideanJordanAlgebraElement(IndexedFreeModuleElement):
             ...
             ValueError: element is not invertible
 
             ...
             ValueError: element is not invertible
 
+        Proposition II.2.3 in Faraut and Korányi says that the inverse
+        of an element is the inverse of its left-multiplication operator
+        applied to the algebra's identity, when that inverse exists::
+
+            sage: set_random_seed()
+            sage: J = random_eja()
+            sage: x = J.random_element()
+            sage: (not x.operator().is_invertible()) or (
+            ....:    x.operator().inverse()(J.one()) == x.inverse() )
+            True
+
         """
         if not self.is_invertible():
             raise ValueError("element is not invertible")
         """
         if not self.is_invertible():
             raise ValueError("element is not invertible")