Python - déterminer le nombre d'applications surjectives
Titre initial "Déterminer le nombre d'application surjective d'un ensemble fini En ver 1 ensemble fini Fp en Python".
Le titre doit être informatif mais court. Le corps du message est là pour les détails. AD]
Bonjour,
2 ensembles finis E à n éléments et F à p éléments tels que 0 < p <= n. Je voudrais créer une fonction en python "surjective (n, p)" avec en entrée "n" et "p" (ex. 3 et 2 c'est-à-dire un ensemble E = {e1, e2, e3} de 3 éléments au départ et F = {c1, c2} un ensemble de 2 éléments à l'arrivée) qui me permet de dénombrer le nombre d'applications surjectives possibles qui pourraient exister et les énumérer si possible. Quelqu'un saurait m'aider comment le faire en python ? Ou bien exite-t-il une fonction native dans le module maths de python ?
Merci par avance de votre aide et réactivité.
Bien à vous.
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu n'as qu'à taper "surjection" dans google et programmer la formule sur les nombres de Stirling de deuxième espèce que tu trouveras dans Wikipédia.
Cordialement,
Rescassol
Je pense en particulier à la librairie itertools, mais mon expertise s'arrête là.
Merci à tous pour vos réponses.
J'ai déjà cherché sur Google un similaire de programme en python, mais sans succès hélas mon cher Rescassol. C'est pourquoi je me suis tourné vers vous. Alors si quelqu'un trouve quelque chose sur le Net, merci de me la faire partager. Aussi je n'ai pas encore trouvé mon bonheur dans la librairie itertools.
Par ailleurs, pour répondre à Heuristique, j'ai besoin juste du résultat pour faire avancer mes travaux de recherche. Peu importe l'optimisation de l'algo.
Je sais dénombrer le nombre de relation d'application bijective; mais pas pour la surjectivité. Mais bon, je continue toujours mes recherches algorithmiques pour la surjectivité (lol) et sur le net en espérant trouver mon bonheur.
Merci encore pour vos réactivités.
Bien à vous mon cher réseau en restant à l'écoute.
Je vais utiliser le tableau de valeurs des nombres de Stirling de seconde espèce que m'a indiqué mon cher Rescassol dans Wikipédia que je n'avais pas vu lors de mes première recherche, pour avancer dans mes travaux d'étude en attendant de trouver un programme qui donnent les mêmes résultats. Ce qui donnerait de la consistance à mes travaux de recherche.
Merci encore mon cher Rescassol et je reviendrai vers vous quand j'aurai trouvé quelque chose.
-- Schnoebelen, Philippe
C'est plus un problème de programmation en Python comme l'a dit Rescassol.
Par exemple, sans optimisation:
j'ai remplacé binom() par math.comb() sans succès. C'est pourquoi j'ai moi même crée les fonctions suivantes:
Ce qui fait que je n'arrive pas à tester ma fonction "surjectiveX()":
Cependant, on ne trouve pas les mêmes résultats que nous proposent les nombres de James Stirling de seconde espèce.
Qu'en penses-tu? Sais-tu comment élaborer le tableau de valeur des nombres de James Stirling de seconde espèce?
Merci encore pour ton aide et ton temps.
J'ai le plaisir de vous dire que j'ai réussi à résoudre tous mes problèmes de programmation en python en essayant d'optimiser le mieux que j'ai pu. Ce qui me permet d'avancer considérablement dans mes travaux de recherche.
Mon cher Rescassol, j'ai trouvé comment élaborer le tableau de valeur des nombres de James Stirling de seconde espèce.
Grand merci encore à vous tous.
Bien à vous.