Php et les maths... calcul formel?

Petit nouveau ! | 8 Messages

20 août 2005, 19:46

Bonjour, je vais un site relatifs aux mathématiques où je propose des exercices…
J’aurais besoin pour ce faire d’un minimum de calcul formel (comparaison d’expression contenant des variables ) j’aurais également besoin de traiter des fonctions complexes comme arctangente…

Est-ce que quelqu’un sait si il existe des librairies pour gérer les bases du calcul formel ou traiter des fonction comme arctan (mais p-e que php le fait déjà, je ne sais pas trop)
Tout ce qui se rapporte à des maths de près ou de loin m’intéresse, est-ce que vous avez ça ?

Mammouth du PHP | 1885 Messages

20 août 2005, 19:53

Bonjour,

PHP propose plusieurs fonctions intéressantes (comme arctan): http://www.php.net/manual/fr/function.atan.php
Le reste est disponible ici: http://www.php.net/manual/fr/function.atan.php
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Petit nouveau ! | 8 Messages

20 août 2005, 23:44

D'accord, merci pour le lien, je sasi toutes les fonctions dispo avec php au niveau des maths maintenant.
(est-ce normal que tu donnes deux fois le meme lien?)

Mais ça ne résoud aps mon pb pour le calcul formel:
comment déterminer si les expressions 'x^3+3*x+7' et '3*x + x^3 + 7' sont les mêmes?
je vois bien une méthode: remplacer les x par des nb (une dizaine) et comparé les résultats des deux expressions pour ces dix nb en approximant plus ou moins... mais ça reste du magouillage...

Il y a bien qq"un qui a eu l'idée de faire une librairie pour faire du calcul formel...

j'ai une autre question également:
existe-il des librairies pour généré des graphs (par exemple celui de la parabole x^2+3) ?

Je me dit qu'avec toute cette comunauté qui pratique le php, il y a bien qq'un qui a du y travailler, non?

Mammouth du PHP | 19672 Messages

20 août 2005, 23:51

Tu devrais peut-être regarder du coté des classes mathématiques de PEAR, je ne les connais pas du tout, mais tu y trouveras peut-être ton bonheur :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1885 Messages

21 août 2005, 00:03

Bonjour,
(est-ce normal que tu donnes deux fois le meme lien?)
Désolé, une erreur lors de la copie de l'adresse. Aurais dû lire:
http://www.php.net/manual/fr/ref.math.php

En ce qui concerne les calculs formels, j'en ai aucune idée. Peut-être le lien proposé par Cyrano pourra te procurer quelques éléments de réponses.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Petit nouveau ! | 8 Messages

21 août 2005, 00:09

Tu devrais peut-être regarder du coté des classes mathématiques de PEAR, je ne les connais pas du tout, mais tu y trouveras peut-être ton bonheur :-k
Je viens de jeter un coup d'oeil, je pense que cela me sera utile, mais ça ne résoud aps les pbs évoqués plus haut, hélas.
Peut-être que j'en demande trop... faire un moteur de calcul formel, c'est loin d'etre simple, sinon toutes les calculettes en auraient un...

Mammouth du PHP | 1885 Messages

21 août 2005, 00:10

Bonjour,

En effet, moi-même j'ai eu de la difficulté à trouver un programme pour mon humble calculette (TI-83+)
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

21 août 2005, 09:09

Les langages de programmation ont tous leurs points forts et leurs points faibles
qui les rendent plus ou moins adaptés à certains besoins spécifiques.

Pour le calcul formel, j'ignore si le PHP présente les mêmes dispositions que le LISP, par exemple.

Existe-t-il des librairies permettant d'inclure du LISP dans du PHP ? :?:
Sinon, tu es bon pour développer un analyseur syntaxique... :ordi:


NB : Originellement, LISP signifie List Processing,
mais à l'usage, on le renomme rapidement : Lots of Insipid and Silly Parentheses... :lol:

Petit nouveau ! | 8 Messages

21 août 2005, 10:52

Sinon, tu es bon pour développer un analyseur syntaxique... :ordi:
Depuis une semaine je me tate pour savoir si je dois en faire un ou pas, mais ça m'embale pas du tout^^ rien qu'à imaginer le boulot...
NB : Originellement, LISP signifie List Processing,
mais à l'usage, on le renomme rapidement : Lots of Insipid and Silly Parentheses... :lol:
Qu'est-ce que Lisp exactement? je n'en avais jamais entendu parlé...
C'est un langage réservé aux maths?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

21 août 2005, 11:02

Le LISP n'est pas réservé aux maths au sens arithmétique (quoique... pourquoi pas ?),
mais il est bien adapté à tout ce qui est calcul formel.

Cependant, j'ignore si une passerelle PHP/LISP est possible, même souhaitable.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

21 août 2005, 11:06

NB : Le LISP est un "vieux" langage, bien antérieur au web.
Je n'ai jamais vu un exemple de LISP appliqué au web.

Pour la culture générale :
Tutoriel LISP : http://www.moteurprog.com/?url=tuto_aff ... utorial=28

beg0
Invité n'ayant pas de compte PHPfrance

21 août 2005, 17:54

Je pense qu'en passant par un cgi (en lips par exemple) ca doit pouvoir se faire
ou alors en executant un program sur le serveur, a partir du script php. j'avais essayer de faire un truc comme ca avec Maple (avec la version en mode console et en ligne de commande), en redirigant l'entree et la sortie standard. J'avais plus ou moins reussi, mais c'etait sur un serveur que je controlais totalement et ou je pouvais faire absolument tout ce que je voulais (bha oui, c'etait mon ordi perso :p) Malheureusement je n'ai plus les scripts :(

Beg0
Invité n'ayant pas de compte PHPfrance

21 août 2005, 18:27

bon, finalement apres une rapide remise en jambe, je peux vous dire que mon code devais resembler a ceci :

//commande(s) maple a executer (recuperer par un formulaire par exemple)
$maple_cmd="evalb( sqrt(x^2) = abs(x) )";   //pour ceux qui connaisent rien a Maple, ceci va juste dire si la racine carree de x est egale a la valeur absolue de x

//on place la (ou les) commande(s) a executer dans un fichier
$file_to_execut=fopen("calcul_formel.txt","w");
fprintf($file_to_execut,$maple_cmd."quit;");
fclose($file_to_execut);

echo "la reponse a votre question est : ";
echo shell_exec("$path_to_maple/cmaple9.5 -q < calcul_formel.txt");
voila, le plus drole c'est que dans mon exemple, maple renvoit false, mais si on met $maple_cmp="evalb( x^3 + 3*x +7 = 3*x + x^3 + 7)"; ca renvoit bien true :D :D (vi, Maple est tres puissant, surtout pour dire des betises :p)
Sinon, je sais pas si ca pose un probleme au niveau de la license, et de toute facon, il faut pouvoir installer et executer maple sur le serveur, et ca, c'est pas gagné !

Eléphanteau du PHP | 29 Messages

22 août 2005, 12:06

pour le calcul formel, c'est pas le Fortran90 le mieux adapté ?

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 août 2005, 12:14

Possible. Je ne connais pas le Fortran.
Je crois juste savoir que c'est un langage destiné à des applications mathématiques.

Le LISP n'est de toute manière pas le seul langage capable de faire du calcul formel.
Mais... c'est le seul qui m'est venu à l'idée. :lol: