コード例 #1
0
ファイル: homspace.py プロジェクト: amitjamadagni/sage
    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
コード例 #2
0
    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
コード例 #3
0
ファイル: infinity.py プロジェクト: yabirgb/sage
    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)
コード例 #4
0
ファイル: homspace.py プロジェクト: jwbober/sagelib
    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
コード例 #5
0
    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
コード例 #6
0
ファイル: infinity.py プロジェクト: yabirgb/sage
    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)
コード例 #7
0
ファイル: homspace.py プロジェクト: yunboliu27/sage
    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