code: def shape(self):
          
          if self.__x is not None:
              if self.isdiagonal:
                  return (max(self.__x.shape), max(self.__x.shape))
              if len(self.__x.shape) == 1:
                  raise Exception("Matrix.shape: Matrix objects must be 2D")
              return self.__x.shape
          return None
docs: get the implied, 2D shape of self
  
          Returns
          -------
          tuple : tuple
              length 2 tuple of ints