Helloooooooooooo !!

Petit "rapport d'utilisation" sur les Posets :-D

Je viens de passer 30 minutes à chercher le pourquoi de ceci :

sage: inclusionwise_mininals(d)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

/home/ncohen/<ipython console> in <module>()

/home/ncohen/ramsey.py in inclusionwise_mininals(l, induced)
    334     ll = map(lambda x : Graph(x, loops = False, multiedges = False), ll)
    335     return ll
    336
    337 def inclusionwise_mininals(l, induced = False):
--> 338     return Poset(l, lambda (x,y) : (x != y and
(x.subgraph_search(y, induced = induced) != None))).minimal_elements()

/home/ncohen/.Sage/local/lib/python2.7/site-packages/sage/combinat/posets/posets.pyc
in Poset(data, element_labels, cover_relations, linear_extension,
category, facade, key)
    387             lin_ext = D.topological_sort()
    388         except:
--> 389             raise ValueError, "Hasse diagram contains cycles."
    390
    391     # Relabel using the linear_extension.

ValueError: Hasse diagram contains cycles.

J'appelais bien le constructeur Poser avec en argument une liste
d'elements et une fonction de comparaison. J'appelais Poset(liste,
fonction), ca me répondait qu'il y avait des cycles, j'ai tout testé
40 fois et je n'y comprenais rien, j'ai refait le calcul a la main
avec des graphes qui me répondaient que "non, il n'y avait pas de
cycles".
Il se révèle, comme le disait la doc, que j'aurais du donner mes deux
arguments dans un tuple, et que Poset( ( liste, fonction ) ) renvoie
exactement ce que je veux.

Comme c'est plutôt votre terrain de jeu, je vous laisse juge de si
c'est un vrai problème ou si c'est mieux comme ca et que j'ai juste 2
bras gauches, ce que j'admets d'avance. Mais perso j'inverserais les
parametres optionnels  "cover_relation" et "element_labels" dans la
liste des paramètres, et je renverrais une exception dans le cas ou un
abruti dans mon genre donnerait une valeur à cover_relation qui serait
autre chose qu'un boolean :-D

J'espère que ca roxxe au Canada !!!!

Nathann

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-combinat-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

Reply via email to