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))
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))