def __init__(self, parent, im_gen, base_morphism): """ EXAMPLES:: sage: R.<x> = FunctionField(GF(7)); S.<y> = R[] sage: L.<y> = R.extension(y^3 + 6*x^3 + x); f = L.hom(y*2); f Morphism of function fields defined by y |--> 2*y sage: type(f) <class 'sage.rings.function_field.maps.FunctionFieldMorphism'> sage: factor(L.polynomial()) y^3 + 6*x^3 + x sage: f(y).charpoly('y') y^3 + 6*x^3 + x """ self._im_gen = im_gen self._base_morphism = base_morphism Map.__init__(self, parent) # Verify that the morphism is valid: R = self.codomain()['X'] v = parent.domain().polynomial().list() if base_morphism is not None: v = [base_morphism(a) for a in v] f = R(v) if f(im_gen): raise ValueError, "invalid morphism"
def __init__(self, B, Bp, normalization=0): """ Initialize ``self``. EXAMPLES:: sage: K = crystals.KirillovReshetikhin(['A',7,2], 1,2) sage: K2 = crystals.KirillovReshetikhin(['A',7,2], 2,1) sage: H = K.local_energy_function(K2) sage: TestSuite(H).run(skip=['_test_category', '_test_pickling']) TESTS: Check that :trac:`23014` is fixed:: sage: La = RootSystem(['G',2,1]).weight_space().fundamental_weights() sage: K = crystals.ProjectedLevelZeroLSPaths(La[1]) sage: H = K.local_energy_function(K) sage: hw = H.domain().classically_highest_weight_vectors() sage: [H(x) for x in hw] [0, 1, 2, 1] """ self._B = B self._Bp = Bp self._R_matrix = self._B.R_matrix(self._Bp) T = B.tensor(Bp) self._known_values = { T(*[K.maximal_vector() for K in T.crystals]): ZZ(normalization) } self._I0 = T.cartan_type().classical().index_set() from sage.categories.homset import Hom Map.__init__(self, Hom(T, ZZ))
def __init__(self, B, Bp, normalization=0): """ Initialize ``self``. EXAMPLES:: sage: K = crystals.KirillovReshetikhin(['A',7,2], 1,2) sage: K2 = crystals.KirillovReshetikhin(['A',7,2], 2,1) sage: H = K.local_energy_function(K2) sage: TestSuite(H).run(skip=['_test_category', '_test_pickling']) TESTS: Check that :trac:`23014` is fixed:: sage: La = RootSystem(['G',2,1]).weight_space().fundamental_weights() sage: K = crystals.ProjectedLevelZeroLSPaths(La[1]) sage: H = K.local_energy_function(K) sage: hw = H.domain().classically_highest_weight_vectors() sage: [H(x) for x in hw] [0, 1, 2, 1] """ self._B = B self._Bp = Bp self._R_matrix = self._B.R_matrix(self._Bp) T = B.tensor(Bp) self._known_values = {T(*[K.maximal_vector() for K in T.crystals]): ZZ(normalization)} self._I0 = T.cartan_type().classical().index_set() from sage.categories.homset import Hom Map.__init__(self, Hom(T, ZZ))
def __init__(self, K): r""" Initialize a derivation from `K` to `K`. INPUT: - ``K`` -- function field EXAMPLES:: sage: K.<x> = FunctionField(QQ) sage: d = K.derivation() sage: TestSuite(d).run(skip=['_test_category', '_test_pickling']) .. TODO:: Make the caching done at the map by subclassing ``UniqueRepresentation``, which will then implement a valid equality check. Then this will pass the pickling test. """ from .function_field import is_FunctionField if not is_FunctionField(K): raise ValueError("K must be a function field") self.__field = K from sage.categories.homset import Hom from sage.categories.sets_cat import Sets Map.__init__(self, Hom(K,K,Sets()))
def __init__(self, parent): r""" TESTS:: sage: K.<x> = FunctionField(QQ) sage: f = QQ.convert_map_from(K) sage: from sage.rings.function_field.maps import FunctionFieldConversionToConstantBaseField sage: isinstance(f, FunctionFieldConversionToConstantBaseField) True """ Map.__init__(self, parent)
def __init__(self, parent, im_gen): """ EXAMPLES:: sage: R.<x> = FunctionField(GF(7)); f = R.hom(1/x); f Morphism of function fields defined by x |--> 1/x sage: type(f) <class 'sage.rings.function_field.maps.FunctionFieldMorphism_rational'> """ Map.__init__(self, parent) self._im_gen = im_gen self._base_morphism = None
def __init__(self, K): r""" Initialize a derivation from ``K`` to ``K``. EXAMPLES:: sage: K.<x> = FunctionField(QQ) sage: d = K.derivation() # indirect doctest """ from .function_field import is_FunctionField if not is_FunctionField(K): raise ValueError("K must be a function field") self.__field = K from sage.categories.homset import Hom from sage.categories.sets_cat import Sets Map.__init__(self, Hom(K,K,Sets()))
def __init__(self, K): r""" Initialize a derivation from ``K`` to ``K``. EXAMPLES:: sage: K.<x> = FunctionField(QQ) sage: d = K.derivation() # indirect doctest """ from .function_field import is_FunctionField if not is_FunctionField(K): raise ValueError("K must be a function field") self.__field = K from sage.categories.homset import Hom from sage.categories.sets_cat import Sets Map.__init__(self, Hom(K, K, Sets()))