"""
i,j = indices
- return self.rows()[i][j]
+ d = self.monomial_coefficients()
+ A = self.parent().entry_algebra()
+ return A.sum( d[k]*k[2]
+ for k in d
+ if k[0] == i and k[1] == j )
+
def trace(self):
r"""
[0 2]
"""
- zero = self.parent().entry_algebra().zero()
- return sum( (self[i,i] for i in range(self.nrows())), zero )
+ d = self.monomial_coefficients()
+ A = self.parent().entry_algebra()
+ return A.sum( d[k]*k[2] for k in d if k[0] == k[1] )
def matrix_space(self):
r"""
self._nrows = n
- # Since the scalar ring is real but the entries are not,
+ # Since the scalar ring is (say) real but the entries are not,
# sticking a "1" in each position doesn't give us a basis for
# the space. We actually need to stick each of e0, e1, ... (a
# basis for the entry algebra itself) into each position.