Page 1 sur 2

Php et les maths... calcul formel?

Posté : 20 août 2005, 19:46
par Melchior
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 ?

Posté : 20 août 2005, 19:53
par Xenon_54
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

Posté : 20 août 2005, 23:44
par Melchior
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?

Posté : 20 août 2005, 23:51
par Cyrano
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

Posté : 21 août 2005, 00:03
par Xenon_54
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.

Posté : 21 août 2005, 00:09
par Melchior
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...

Posté : 21 août 2005, 00:10
par Xenon_54
Bonjour,

En effet, moi-même j'ai eu de la difficulté à trouver un programme pour mon humble calculette (TI-83+)

Posté : 21 août 2005, 09:09
par albat
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:

Posté : 21 août 2005, 10:52
par Melchior
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?

Posté : 21 août 2005, 11:02
par albat
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.

Posté : 21 août 2005, 11:06
par albat
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

Posté : 21 août 2005, 17:54
par beg0
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 :(

Posté : 21 août 2005, 18:27
par Beg0
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é !

Posté : 22 août 2005, 12:06
par sweetking
pour le calcul formel, c'est pas le Fortran90 le mieux adapté ?

Posté : 22 août 2005, 12:14
par albat
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: