示例#1
0
    def __init_extra__(self):
        """
        Sets up the coercions between the different bases

        EXAMPLES::

            sage: Sym = SymmetricFunctions(QQ) # indirect doctest
            sage: s = Sym.s(); p = Sym.p()
            sage: s.coerce_map_from(p)
            Generic morphism:
              From: Symmetric Functions over Rational Field in the powersum basis
              To:   Symmetric Functions over Rational Field in the Schur basis
        """
        powersum = self.powersum()
        complete = self.complete()
        elementary = self.elementary()
        schur = self.schur()
        monomial = self.monomial()

        iso = self.register_isomorphism

        from sage.combinat.sf.classical import conversion_functions
        from sage.categories.morphism import SetMorphism
        from sage.categories.homset import Hom

        for (basis1_name, basis2_name) in conversion_functions.keys():
            basis1 = getattr(self, basis1_name)()
            basis2 = getattr(self, basis2_name)()
            on_basis = SymmetricaConversionOnBasis(
                t=conversion_functions[basis1_name, basis2_name],
                domain=basis1,
                codomain=basis2)
            iso(basis1._module_morphism(on_basis, codomain=basis2))
示例#2
0
文件: sf.py 项目: sageb0t/testsage
    def __init_extra__(self):
        """
        Sets up the coercions between the different bases

        EXAMPLES::

            sage: Sym = SymmetricFunctions(QQ) # indirect doctest
            sage: s = Sym.s(); p = Sym.p()
            sage: s.coerce_map_from(p)
            Generic morphism:
              From: Symmetric Functions over Rational Field in the powersum basis
              To:   Symmetric Functions over Rational Field in the Schur basis
        """
        powersum   = self.powersum  ()
        complete   = self.complete  ()
        elementary = self.elementary()
        schur      = self.schur     ()
        monomial   = self.monomial  ()

        iso = self.register_isomorphism

        from sage.combinat.sf.classical import conversion_functions
        from sage.categories.morphism import SetMorphism
        from sage.categories.homset import Hom

        for (basis1_name, basis2_name) in conversion_functions.keys():
            basis1 = getattr(self, basis1_name)()
            basis2 = getattr(self, basis2_name)()
            on_basis = SymmetricaConversionOnBasis(t = conversion_functions[basis1_name,basis2_name], domain = basis1, codomain = basis2)
            iso(basis1._module_morphism(on_basis, codomain = basis2))