def __init__(self, A, gens=None, category=None): """ A subring of the endomorphism ring. INPUT: - ``A`` - an abelian variety - ``gens`` - (default: None); optional; if given should be a tuple of the generators as matrices EXAMPLES:: sage: J0(23).endomorphism_ring() Endomorphism ring of Abelian variety J0(23) of dimension 2 sage: sage.modular.abvar.homspace.EndomorphismSubring(J0(25)) Endomorphism ring of Abelian variety J0(25) of dimension 0 sage: E = J0(11).endomorphism_ring() sage: type(E) <class 'sage.modular.abvar.homspace.EndomorphismSubring_with_category'> sage: E.category() Join of Category of rings and Category of hom sets in Category of sets sage: E.homset_category() Category of modular abelian varieties over Rational Field sage: TestSuite(E).run(skip=["_test_prod"]) TESTS: The following tests against a problem on 32 bit machines that occured while working on trac ticket #9944:: sage: sage.modular.abvar.homspace.EndomorphismSubring(J1(12345)) Endomorphism ring of Abelian variety J1(12345) of dimension 5405473 """ self._J = A.ambient_variety() self._A = A # Initialise self with the correct category. # TODO: a category should be able to specify the appropriate # category for its endomorphism sets # We need to initialise it as a ring first if category is None: homset_cat = A.category() else: homset_cat = category # Remark: Ring.__init__ will automatically form the join # of the category of rings and of homset_cat Ring.__init__(self, A.base_ring(), category=homset_cat) Homspace.__init__(self, A, A, cat=homset_cat) self._refine_category_(Rings()) if gens is None: self._gens = None else: self._gens = tuple([ self._get_matrix(g) for g in gens ]) self._is_full_ring = gens is None
def __init__(self, A, gens=None, category=None): """ A subring of the endomorphism ring. INPUT: - ``A`` - an abelian variety - ``gens`` - (default: None); optional; if given should be a tuple of the generators as matrices EXAMPLES:: sage: J0(23).endomorphism_ring() Endomorphism ring of Abelian variety J0(23) of dimension 2 sage: sage.modular.abvar.homspace.EndomorphismSubring(J0(25)) Endomorphism ring of Abelian variety J0(25) of dimension 0 sage: E = J0(11).endomorphism_ring() sage: type(E) <class 'sage.modular.abvar.homspace.EndomorphismSubring_with_category'> sage: E.category() Join of Category of rings and Category of hom sets in Category of sets sage: E.homset_category() Category of modular abelian varieties over Rational Field sage: TestSuite(E).run(skip=["_test_prod"]) TESTS: The following tests against a problem on 32 bit machines that occured while working on trac ticket #9944:: sage: sage.modular.abvar.homspace.EndomorphismSubring(J1(12345)) Endomorphism ring of Abelian variety J1(12345) of dimension 5405473 """ self._J = A.ambient_variety() self._A = A # Initialise self with the correct category. # TODO: a category should be able to specify the appropriate # category for its endomorphism sets # We need to initialise it as a ring first if category is None: homset_cat = A.category() else: homset_cat = category # Remark: Ring.__init__ will automatically form the join # of the category of rings and of homset_cat Ring.__init__(self, A.base_ring(), category=homset_cat) Homspace.__init__(self, A, A, cat=homset_cat) self._refine_category_(Rings()) if gens is None: self._gens = None else: self._gens = tuple([self._get_matrix(g) for g in gens]) self._is_full_ring = gens is None
def __init__(self): """ Initialize ``self``. TESTS:: sage: sage.rings.infinity.InfinityRing_class() is sage.rings.infinity.InfinityRing_class() is InfinityRing True Comparison tests:: sage: InfinityRing == InfinityRing True sage: InfinityRing == UnsignedInfinityRing False """ Ring.__init__(self, self, names=('oo',), normalize=False)
def __init__(self, A, gens=None): """ A subring of the endomorphism ring. INPUT: - ``A`` - an abelian variety - ``gens`` - (default: None); optional; if given should be a tuple of the generators as matrices EXAMPLES:: sage: J0(23).endomorphism_ring() Endomorphism ring of Abelian variety J0(23) of dimension 2 sage: sage.modular.abvar.homspace.EndomorphismSubring(J0(25)) Endomorphism ring of Abelian variety J0(25) of dimension 0 sage: type(J0(11).endomorphism_ring()) <class 'sage.modular.abvar.homspace.EndomorphismSubring_with_category'> TESTS: The following tests against a problem on 32 bit machines that occured while working on trac ticket #9944:: sage: sage.modular.abvar.homspace.EndomorphismSubring(J1(12345)) Endomorphism ring of Abelian variety J1(12345) of dimension 5405473 """ self._J = A.ambient_variety() self._A = A # Initialise self with the correct category. # We need to initialise it as a ring first cat = A.category() cat = cat.join([cat.hom_category(),Rings()]) Ring.__init__(self, A.base_ring(), category=cat) Homspace.__init__(self, A, A, cat=cat) if gens is None: self._gens = None else: self._gens = tuple([ self._get_matrix(g) for g in gens ]) self._is_full_ring = gens is None
def __init__(self, A, gens=None): """ A subring of the endomorphism ring. INPUT: - ``A`` - an abelian variety - ``gens`` - (default: None); optional; if given should be a tuple of the generators as matrices EXAMPLES:: sage: J0(23).endomorphism_ring() Endomorphism ring of Abelian variety J0(23) of dimension 2 sage: sage.modular.abvar.homspace.EndomorphismSubring(J0(25)) Endomorphism ring of Abelian variety J0(25) of dimension 0 sage: type(J0(11).endomorphism_ring()) <class 'sage.modular.abvar.homspace.EndomorphismSubring_with_category'> TESTS: The following tests against a problem on 32 bit machines that occured while working on trac ticket #9944:: sage: sage.modular.abvar.homspace.EndomorphismSubring(J1(12345)) Endomorphism ring of Abelian variety J1(12345) of dimension 5405473 """ self._J = A.ambient_variety() self._A = A # Initialise self with the correct category. # We need to initialise it as a ring first cat = A.category() cat = cat.join([cat.hom_category(), Rings()]) Ring.__init__(self, A.base_ring(), category=cat) Homspace.__init__(self, A, A, cat=cat) if gens is None: self._gens = None else: self._gens = tuple([self._get_matrix(g) for g in gens]) self._is_full_ring = gens is None
def __init__(self): """ Initialize ``self``. TESTS:: sage: sage.rings.infinity.UnsignedInfinityRing_class() is sage.rings.infinity.UnsignedInfinityRing_class() is UnsignedInfinityRing True Sage can understand SymPy's complex infinity (:trac:`17493`):: sage: import sympy sage: SR(sympy.zoo) Infinity Some equality checks:: sage: infinity == UnsignedInfinityRing.gen() True sage: UnsignedInfinityRing(3) == UnsignedInfinityRing(-19.5) True """ Ring.__init__(self, self, names=('oo',), normalize=False)
def __init__(self, A, gens=None, category=None): """ A subring of the endomorphism ring. INPUT: - ``A`` - an abelian variety - ``gens`` - (default: None); optional; if given should be a tuple of the generators as matrices EXAMPLES:: sage: J0(23).endomorphism_ring() Endomorphism ring of Abelian variety J0(23) of dimension 2 sage: sage.modular.abvar.homspace.EndomorphismSubring(J0(25)) Endomorphism ring of Abelian variety J0(25) of dimension 0 sage: E = J0(11).endomorphism_ring() sage: type(E) <class 'sage.modular.abvar.homspace.EndomorphismSubring_with_category'> sage: E.homset_category() Category of modular abelian varieties over Rational Field sage: E.category() Category of endsets of modular abelian varieties over Rational Field sage: E in Rings() True sage: TestSuite(E).run(skip=["_test_prod"]) TESTS: The following tests against a problem on 32 bit machines that occured while working on :trac:`9944`:: sage: sage.modular.abvar.homspace.EndomorphismSubring(J1(12345)) Endomorphism ring of Abelian variety J1(12345) of dimension 5405473 :trac:`16275` removed the custom ``__reduce__`` method, since :meth:`Homset.__reduce__` already implements appropriate unpickling by construction:: sage: E.__reduce__.__module__ 'sage.categories.homset' sage: E.__reduce__() (<function Hom at ...>, (Abelian variety J0(11) of dimension 1, Abelian variety J0(11) of dimension 1, Category of modular abelian varieties over Rational Field, False)) """ self._J = A.ambient_variety() self._A = A # Initialise self with the correct category. # We need to initialise it as a ring first if category is None: homset_cat = A.category() else: homset_cat = category # Remark: Ring.__init__ will automatically form the join # of the category of rings and of homset_cat Ring.__init__(self, A.base_ring(), category=homset_cat.Endsets()) Homspace.__init__(self, A, A, cat=homset_cat) if gens is None: self._gens = None else: self._gens = tuple([ self._get_matrix(g) for g in gens ]) self._is_full_ring = gens is None