2010-11-29 10 views
6

Je recherche une bibliothèque qui me permettra de manipuler des fonctions avec les opérateurs standard (*, -, *, /, etc.). On suppose que vous avez une fonction f(x) = x ** 2 et g(x) = x + 2. Je voudrais être en mesure d'écrire f * g et d'obtenir un nouveau foncteur qui est essentiely x ** 2 * (x + 2) ou f(g) et obtenir (x + 2) ** 2. Je sais que ce n'est pas trop difficile à implémenter, il vous suffira de créer une classe Functor et de surcharger la fonction __call__, mais j'espère qu'il existe une bibliothèque tierce pour cela. Je n'essaie pas de l'utiliser pour quelque chose de poids lourd juste pour l'apprentissage. Merci pour l'aide.Bibliothèque arithmétique de fonction pour python

Répondre

5

Sympy devrait faire ce que vous voulez.

+0

Oooh, c'est génial! Il a même une fonction Dirac-delta et peut réellement calculer des circonvolutions. – terminus

0

Je ne comprends pas tout à fait ce que vous cherchez, mais le module operator (dans la bibliothèque standard) aide-t-il? Il définit des fonctions pour tous les opérateurs arithmétiques standard.

+0

Un système d'algèbre informatique, comme ce que vous utiliseriez sur une TI-83 –

+0

Je le sais et pour ma petite solution dinky je l'ai utilisé, mais vous ne pouvez toujours pas multiplier deux fonctions pour en créer une troisième. – terminus

Questions connexes