Commit 2c1e1f7d authored by Guillaume Sabbagh's avatar Guillaume Sabbagh
Browse files

Test d'adjonction de limite

parent 13fdff59
......@@ -262,6 +262,16 @@ class Fleche(Diagramme):
""" objets_a_selectionner est une listes d'objets à selectionner dans la catégorie."""
Diagramme.__init__(self,Fleche._cat,categorie_indexee,{1:fleche_a_selectionner.source,2:fleche_a_selectionner.cible},{Fleche._f:fleche_a_selectionner})
class Chemins(Diagramme):
"""Diagramme des chemins entre deux objets"""
def __init__(self,categorie_indexee, source, cible):
cat = Categorie.Categorie('Chemins')
cat.ajouter_objets([1,2])
chemins = categorie_indexee.enumerer_composees(source,cible)
morphismes = list(map(lambda x:Morphisme(1,2,x),range(len(chemins))))
cat.ajouter_morphismes(morphismes)
Diagramme.__init__(self,cat,categorie_indexee,{1:source,2:cible},{morphismes[i]:chemins[i] for i in range(len(chemins))})
class Parallele(Diagramme):
_cat = Categorie.Categorie("Parallele")
......
......@@ -9,12 +9,13 @@ from Morphisme import Morphisme
# random.seed(15617156)
# random.seed(15617)
# cat = CategorieAleatoire.CategorieAleaIsomorph(10,16)
# cat.transformer_graphviz(complet=False)
# cat.transformer_graphviz(complet=True)
# diag1 = Diagramme.DiagrammeAlea(cat,1)
# diag1.transformer_graphviz()
......@@ -43,21 +44,79 @@ from Morphisme import Morphisme
# b = Bouquet.Bouquets(diag2,diag1)
# b.transformer_graphviz()
cat = Categorie.Categorie()
cat.ajouter_objets("AB")
f,g = [Morphisme('A','B','f'),Morphisme('A','B','g')]
cat.ajouter_morphismes([f,g])
# cat = Categorie.Categorie()
# cat.ajouter_objets("AB")
# f = Morphisme('A','B','f')
# cat.ajouter_morphismes([f])
# cat.transformer_graphviz()
# diag1 = Diagramme.DiagrammeObjets(cat,'A')
# diag2 = Diagramme.DiagrammeObjets(cat,'B')
# f = diag1.est_prohomologue_a(diag2)
# if f != None:
# f.transformer_graphviz()
# f = diag1.est_homologue_a(diag2)
# if f != None:
# f.transformer_graphviz()
# b = Bouquet.Bouquets(diag1,diag2)
# b.transformer_graphviz()
random.seed(1561741474774747587575775887517)
cat = CategorieAleatoire.CategorieAlea(7,8)
cat.transformer_graphviz()
diag1 = Diagramme.Fleche(cat,f)
diag1.champ_perceptif().transformer_graphviz()
diag2 = Diagramme.Fleche(cat,g)
diag2.champ_perceptif().transformer_graphviz()
diag = Diagramme.DiagrammeAlea(cat,3)
diag.transformer_graphviz()
cones = CategorieCones.CategorieCones(diag)
cones.transformer_graphviz()
f = diag1.est_prohomologue_a(diag2)
if f != None:
f.transformer_graphviz()
cat.ajouter_objets(["S"])
f,g,h = [Morphisme('S',6,'f'),Morphisme('S',2,'g'),Morphisme('S',4,'h')]
cat.ajouter_morphismes([f,g,h])
s1 = Morphisme(3,'S','s1')
cat.ajouter_morphisme(s1)
s2 = Morphisme(3,'S','s2')
cat.ajouter_morphisme(s2)
cone = cones.objets[0]
for jambe in cone.jambes.values():
print(jambe.pretty_print())
diagramme = Diagramme.Parallele(cat,[3,jambe.cible],[jambe,cat.Composee(s1,eval(input()))])
diagramme.transformer_graphviz()
diagramme.faire_commuter()
f = diag1.est_homologue_a(diag2)
if f != None:
f.transformer_graphviz()
\ No newline at end of file
cone = cones.objets[1]
for jambe in cone.jambes.values():
print(jambe.pretty_print())
diagramme = Diagramme.Parallele(cat,[3,jambe.cible],[jambe,cat.Composee(s2,eval(input()))])
diagramme.transformer_graphviz()
diagramme.faire_commuter()
diagramme = Diagramme.Chemins(cat,"S",2)
diagramme.transformer_graphviz()
diagramme.faire_commuter()
diagramme = Diagramme.Chemins(cat,"S",6)
diagramme.transformer_graphviz()
diagramme.faire_commuter()
diagramme = Diagramme.Chemins(cat,"S",4)
diagramme.transformer_graphviz()
diagramme.faire_commuter()
cat.transformer_graphviz()
cones = CategorieCones.CategorieCones(diag)
cones.transformer_graphviz()
......@@ -5,8 +5,4 @@
- Corriger catégorie aléatoire isomophisme : il faut faire commuter les composantes isomorphes
- Retirer image objets de Parallele
(1) Un diagramme constant vers un objet A (et son identité) a toujours une limite et une colimite, qui coïncident avec A (et son identité comme unique jambe du co/cône). Son champ d'action (resp. de perception) coïncide avec le champ d'action (resp. de perception) de l'objet A et admet un objet initial (resp. final). Deux objets A et B qui ont des champs d'action isomorphes au-dessus de la catégorie C sont isomorphes (idem pour les champs de perception). Le principe de multiplicité ne concerne pas les diagrammes constants.
(2) Un diagramme vers A-->B (et les identités) a toujours une limite (A, Id_A, A-->B) et une colimite (B, A-->B, Id_B) qui ne coïncident donc pas. Champ d'action seul ne caractérise pas le diagramme (idem pour champ de perception), mais les deux ensemble si (à vérifier).
(3) Pour les diagrammes plus généraux, on ne peut rien dire, et le principe de multiplicité peut se déployer...
\ No newline at end of file
P.5 : InteractC peut être infinie si C est finie ?
\ No newline at end of file
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