# because the MatrixEJA is not presently a subclass of the
# FDEJA class that defines rank() and one().
self.rank.set_cache(n)
- self.one.set_cache(self(A.one()))
+ if n == 0:
+ self.one.set_cache( self.zero() )
+ else:
+ self.one.set_cache(self(A.one()))
# because the MatrixEJA is not presently a subclass of the
# FDEJA class that defines rank() and one().
self.rank.set_cache(n)
- self.one.set_cache(self(A.one()))
+ if n == 0:
+ self.one.set_cache( self.zero() )
+ else:
+ self.one.set_cache(self(A.one()))
@staticmethod
def _max_random_instance_size():
# because the MatrixEJA is not presently a subclass of the
# FDEJA class that defines rank() and one().
self.rank.set_cache(n)
- self.one.set_cache(self(A.one()))
+ if n == 0:
+ self.one.set_cache( self.zero() )
+ else:
+ self.one.set_cache(self(A.one()))
@staticmethod
# because the MatrixEJA is not presently a subclass of the
# FDEJA class that defines rank() and one().
self.rank.set_cache(n)
- self.one.set_cache(self(A.one()))
+ if n == 0:
+ self.one.set_cache( self.zero() )
+ else:
+ self.one.set_cache(self(A.one()))
class AlbertEJA(OctonionHermitianEJA):
| 0 | 0 |
+---+---+
+ TESTS::
+
+ sage: MatrixAlgebra(0,ZZ,ZZ).zero()
+ 0
+
"""
- return table(self.rows(), frame=True)._repr_()
+ if self.nrows() == 0 or self.ncols() == 0:
+ # Otherwise we get a crash or a blank space, depending
+ # on how hard we work for it.
+ return self.parent().entry_algebra().zero().__repr__()
+
+ return table(rs, frame=True)._repr_()
def list(self):