[[e0 + 2*e3, 0, 0], [0, 0, 0], [0, 0, 0]]
"""
- zero = self.parent().octonions().zero()
+ zero = self.parent().entry_algebra().zero()
l = [[zero for j in range(self.ncols())] for i in range(self.nrows())]
for (k,v) in self.monomial_coefficients().items():
(i,j,e) = k
3*e0
"""
- zero = self.parent().octonions().zero()
+ zero = self.parent().entry_algebra().zero()
return sum( (self[i,i] for i in range(self.nrows())), zero )
def matrix_space(self):
I = FiniteEnumeratedSet(range(n))
J = FiniteEnumeratedSet(range(n))
- self._octonions = Octonions(field=field)
- entry_basis = self._octonions.gens()
+ self._entry_algebra = Octonions(field=field)
+ entry_basis = self._entry_algebra.gens()
basis_indices = cartesian_product([I,J,entry_basis])
super().__init__(field,
" over the scalar ring %s" %
(self.nrows(), self.ncols(), self.base_ring()) )
- def octonions(self):
+ def entry_algebra(self):
r"""
- Return the Octonion algebra that our elements' entries come from.
+ Return the algebra that our elements' entries come from.
"""
- return self._octonions
+ return self._entry_algebra
def nrows(self):
return self._nrows
True
"""
- return sum( (self.monomial((i,i,self._octonions.one()))
+ return sum( (self.monomial((i,i,self.entry_algebra().one()))
for i in range(self.nrows()) ),
self.zero() )
# given octonion algebra to ours. Otherwise we can fail
# to convert an element of (for example) Octonions(QQ)
# to Octonions(AA).
- return self.octonions().from_vector(e_ij.to_vector())
+ return self.entry_algebra().from_vector(e_ij.to_vector())
return sum( (self.monomial( (i,j, convert(entries[i][j])) )
for i in range(nrows)