sage: A._entry_algebra_element_to_vector(e[7])
(0, 0, 0, 0, 0, 0, 0, 1)
+ Sage OctonionAlgebra. Eventually this should use
+ ``_entry_algebra_gens()`` once we migrate
+ :cls:`OctonionMatrixAlgebra` to Sage's octonions::
+
+ sage: O = OctonionAlgebra(QQ)
+ sage: A = MatrixAlgebra(1, O, QQ)
+ sage: e = A.entry_algebra().basis()
+ sage: A._entry_algebra_element_to_vector(e[0])
+ (1, 0, 0, 0, 0, 0, 0, 0)
+ sage: A._entry_algebra_element_to_vector(e[1])
+ (0, 1, 0, 0, 0, 0, 0, 0)
+ sage: A._entry_algebra_element_to_vector(e[2])
+ (0, 0, 1, 0, 0, 0, 0, 0)
+ sage: A._entry_algebra_element_to_vector(e[3])
+ (0, 0, 0, 1, 0, 0, 0, 0)
+ sage: A._entry_algebra_element_to_vector(e[4])
+ (0, 0, 0, 0, 1, 0, 0, 0)
+ sage: A._entry_algebra_element_to_vector(e[5])
+ (0, 0, 0, 0, 0, 1, 0, 0)
+ sage: A._entry_algebra_element_to_vector(e[6])
+ (0, 0, 0, 0, 0, 0, 1, 0)
+ sage: A._entry_algebra_element_to_vector(e[7])
+ (0, 0, 0, 0, 0, 0, 0, 1)
+
Sage matrices::
sage: MS = MatrixSpace(QQ,2)
if hasattr(entry, 'to_vector'):
return entry.to_vector()
+ if hasattr(entry, 'vector'):
+ # OctonionAlgebra
+ return entry.vector()
+
from sage.modules.free_module import FreeModule
d = len(self.entry_algebra_gens())
V = FreeModule(self.entry_algebra().base_ring(), d)