Commit 06731fa7 authored by Guillaume Sabbagh's avatar Guillaume Sabbagh
Browse files

stash

parent 5b87dfc9
...@@ -205,7 +205,9 @@ class CategorieClusters(CategorieInteractions): ...@@ -205,7 +205,9 @@ class CategorieClusters(CategorieInteractions):
result = set() result = set()
for source in sources: for source in sources:
for cible in cibles: for cible in cibles:
print(source,cible)
interactions = CategorieInteractions.__call__(self,{source},{cible}) interactions = CategorieInteractions.__call__(self,{source},{cible})
print(source,cible)
proto_cluster_maximaux = set() proto_cluster_maximaux = set()
while len(interactions) > 0: while len(interactions) > 0:
interact = interactions.pop() interact = interactions.pop()
......
...@@ -86,9 +86,9 @@ class CategorieEnsemblesFinis(Categorie): ...@@ -86,9 +86,9 @@ class CategorieEnsemblesFinis(Categorie):
for a in sources: for a in sources:
for b in cibles: for b in cibles:
if not issubclass(type(a),frozenset): if not issubclass(type(a),frozenset):
raise Exception("On s'attend à avoir des frozenset dans l'ensemble source, pas un "+str(type(a))+'\n'+str(source)) raise Exception("On s'attend à avoir des frozenset dans l'ensemble source, pas un "+str(type(a))+'\n'+str(sources))
if not issubclass(type(b),frozenset): if not issubclass(type(b),frozenset):
raise Exception("On s'attend à avoir des frozenset dans l'ensemble cible, pas un "+str(type(b))+'\n'+str(cible)) raise Exception("On s'attend à avoir des frozenset dans l'ensemble cible, pas un "+str(type(b))+'\n'+str(cibles))
result |= {Application(a,b,dict(zip(a,prod))) for prod in itertools.product(b,repeat=len(a))} result |= {Application(a,b,dict(zip(a,prod))) for prod in itertools.product(b,repeat=len(a))}
return result return result
......
...@@ -11,20 +11,21 @@ cat.transformer_graphviz() ...@@ -11,20 +11,21 @@ cat.transformer_graphviz()
d1 = DiagrammeObjets(cat,{frozenset({1,2}),frozenset({3})}) d1 = DiagrammeObjets(cat,{frozenset({1,2}),frozenset({3})})
d2 = DiagrammeObjets(cat,{frozenset({3,2}),frozenset({1})}) d2 = DiagrammeObjets(cat,{frozenset({3,2}),frozenset({1})})
d1.transformer_graphviz() #d1.transformer_graphviz()
#d2.transformer_graphviz() #d2.transformer_graphviz()
c_p1 = ChampActif(d1) #c_p1 = ChampActif(d1)
c_p2 = ChampActif(d2) #c_p2 = ChampActif(d2)
sous_c_p1 = SousCategoriePleine(c_p1,c_p1.objets_colimites()) #sous_c_p1 = SousCategoriePleine(c_p1,c_p1.objets_colimites())
sous_c_p1.transformer_graphviz() #sous_c_p1.transformer_graphviz()
sous_c_p2 = SousCategoriePleine(c_p2,c_p2.objets_colimites()) #sous_c_p2 = SousCategoriePleine(c_p2,c_p2.objets_colimites())
sous_c_p2.transformer_graphviz() #sous_c_p2.transformer_graphviz()
cat_hom = CategorieHomologue({sous_c_p1,sous_c_p2}) #on cherche simplement un isomoprhisme entre les colimites pour dire qu'ils ont les mêmes colimites from Cluster import CategorieClusters
print("cat_hom")
cat_hom.transformer_graphviz() cat_clust = CategorieClusters(cat,{d1,d2})
\ No newline at end of file SousCategoriePleine(cat_clust.transformer_graphviz(),{d1,d2}).transformer_graphviz()
\ No newline at end of file
...@@ -122,7 +122,7 @@ class CategorieInteractions(Categorie): ...@@ -122,7 +122,7 @@ class CategorieInteractions(Categorie):
""" """
Categorie.__init__(self,diagrammes,"Catégorie des diagrammes et interactions sur "+str(univers) if nom == None else nom) Categorie.__init__(self,diagrammes,"Catégorie des diagrammes et interactions sur "+str(univers) if nom == None else nom)
self.univers = univers self.univers = univers
self |= {DiagrammeObjets(univers,obj) for obj in univers.objets } self |= {DiagrammeObjets(univers,{obj}) for obj in univers.objets }
if config.TOUJOURS_VERIFIER_COHERENCE: if config.TOUJOURS_VERIFIER_COHERENCE:
self.verifier_coherence() self.verifier_coherence()
...@@ -138,7 +138,8 @@ class CategorieInteractions(Categorie): ...@@ -138,7 +138,8 @@ class CategorieInteractions(Categorie):
for b in cibles: for b in cibles:
if a.cible != b.cible: if a.cible != b.cible:
raise Exception("Les deux diagrammes n'ont pas la même catégorie cible") raise Exception("Les deux diagrammes n'ont pas la même catégorie cible")
fleches = {ObjetCommaCategorie(i,f,j) for i in a.source.objets for j in b.source.objets for f in a.cible(a(i),b(j))} fleches = {ObjetCommaCategorie(i,f,j) for i in a.source.objets for j in b.source.objets for f in a.cible({a(i)},{b(j)})}
print(len(fleches)+1)
for k in range(1,len(fleches)+1): for k in range(1,len(fleches)+1):
for combi in itertools.combinations(fleches,k): for combi in itertools.combinations(fleches,k):
result |= {Interaction(a,b,set(combi))} result |= {Interaction(a,b,set(combi))}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment