def _repr_(self): """ Return a string representation. OUTPUT: String. EXAMPLES:: sage: F = GF(5); MS = MatrixSpace(F,2,2) sage: gens = [MS([[1,2],[-1,1]]),MS([[1,1],[0,1]])] sage: G = MatrixGroup(gens) sage: G Matrix group over Finite Field of size 5 with 2 generators ( [1 2] [1 1] [4 1], [0 1] ) """ if self.ngens() > 5: return 'Matrix group over {0} with {1} generators'.format( self.base_ring(), self.ngens()) else: from sage.misc.displayhook import format_obj return 'Matrix group over {0} with {1} generators {2}'.format( self.base_ring(), self.ngens(), format_obj(self.gens()))
def __call__(self, obj): r""" Computes the format data of ``result``. If the :func:`sage.misc.displayhook.format_obj` writes a string, then we override IPython's :class:`DisplayHook` formatting. EXAMPLES:: sage: from sage.misc.interpreter import get_test_shell sage: shell = get_test_shell() sage: shell.display_formatter.formatters['text/plain'] <...sage_extension.SagePlainTextFormatter object at 0x...> sage: shell.displayhook.compute_format_data(2) {u'text/plain': '2'} sage: a = identity_matrix(ZZ, 2) sage: shell.displayhook.compute_format_data([a,a]) {u'text/plain': '[\n[1 0] [1 0]\n[0 1], [0 1]\n]'} """ import sage from sage.misc.displayhook import format_obj s = format_obj(obj) if s is None: s = super(SagePlainTextFormatter, self).__call__(obj) return s