def __init__(self, domain, action, category=None): """ TESTS:: sage: M = FiniteSetMaps(["a", "b", "c"]) sage: M.category() Category of finite enumerated monoids sage: M.__class__ <class 'sage.sets.finite_set_maps.FiniteSetEndoMaps_Set_with_category'> sage: TestSuite(M).run() """ category = (EnumeratedSets() & Monoids().Finite()).or_subcategory(category) FiniteSetMaps_MN.__init__(self, domain.cardinality(), domain.cardinality(), category=category) self._domain = domain self._codomain = domain import sage.combinat.ranker as ranker ldomain = domain.list() self._unrank_domain = ranker.unrank_from_list(ldomain) self._rank_domain = ranker.rank_from_list(ldomain) self._unrank_codomain = self._unrank_domain self._rank_codomain = self._rank_domain self._action = action
def __init__(self, domain, action, category=None): """ TESTS:: sage: M = FiniteSetMaps(["a", "b", "c"]) sage: M.category() Join of Category of finite monoids and Category of finite enumerated sets sage: M.__class__ <class 'sage.sets.finite_set_maps.FiniteSetEndoMaps_Set_with_category'> sage: TestSuite(M).run() """ category = (EnumeratedSets() & Monoids().Finite()).or_subcategory(category) FiniteSetMaps_MN.__init__(self, domain.cardinality(), domain.cardinality(), category=category) self._domain = domain self._codomain = domain import sage.combinat.ranker as ranker ldomain = domain.list() self._unrank_domain = ranker.unrank_from_list(ldomain) self._rank_domain = ranker.rank_from_list(ldomain) self._unrank_codomain = self._unrank_domain self._rank_codomain = self._rank_domain self._action = action
def __init__(self, domain, codomain, category=None): """ EXAMPLES:: sage: M = FiniteSetMaps(["a", "b"], [3, 4, 5]) sage: M Maps from {'a', 'b'} to {3, 4, 5} sage: M.cardinality() 9 sage: for f in M: print(f) map: a -> 3, b -> 3 map: a -> 3, b -> 4 map: a -> 3, b -> 5 map: a -> 4, b -> 3 map: a -> 4, b -> 4 map: a -> 4, b -> 5 map: a -> 5, b -> 3 map: a -> 5, b -> 4 map: a -> 5, b -> 5 TESTS:: sage: M.__class__ <class 'sage.sets.finite_set_maps.FiniteSetMaps_Set_with_category'> sage: M.category() Category of finite enumerated sets sage: TestSuite(M).run() """ FiniteSetMaps_MN.__init__(self, domain.cardinality(), codomain.cardinality(), category=category) self._domain = domain self._codomain = codomain import sage.combinat.ranker as ranker ldomain = domain.list() lcodomain = codomain.list() self._unrank_domain = ranker.unrank_from_list(ldomain) self._rank_domain = ranker.rank_from_list(ldomain) self._unrank_codomain = ranker.unrank_from_list(lcodomain) self._rank_codomain = ranker.rank_from_list(lcodomain)
def __init__(self, domain, codomain, category=None): """ EXAMPLES:: sage: M = FiniteSetMaps(["a", "b"], [3, 4, 5]) sage: M Maps from {'a', 'b'} to {3, 4, 5} sage: M.cardinality() 9 sage: for f in M: print f map: a -> 3, b -> 3 map: a -> 3, b -> 4 map: a -> 3, b -> 5 map: a -> 4, b -> 3 map: a -> 4, b -> 4 map: a -> 4, b -> 5 map: a -> 5, b -> 3 map: a -> 5, b -> 4 map: a -> 5, b -> 5 TESTS:: sage: M.__class__ <class 'sage.sets.finite_set_maps.FiniteSetMaps_Set_with_category'> sage: M.category() Category of finite enumerated sets sage: TestSuite(M).run() """ FiniteSetMaps_MN.__init__(self, domain.cardinality(), codomain.cardinality(), category=category) self._domain = domain self._codomain = codomain import sage.combinat.ranker as ranker ldomain = domain.list() lcodomain = codomain.list() self._unrank_domain = ranker.unrank_from_list(ldomain) self._rank_domain = ranker.rank_from_list(ldomain) self._unrank_codomain = ranker.unrank_from_list(lcodomain) self._rank_codomain = ranker.rank_from_list(lcodomain)