Bibliothèque gérant les polynômes

Bibliothèque gérant les polynômes - C++ - Programmation

Marsh Posté le 11-04-2006 à 16:37:56    

:hello: Bonjour tout le monde !
 
je suis actuellement à la recherche d'une bibliothèque fournissant une classe C++ permettant de gérer les polynômes. Je n'ai pas besoin de grand chose : seulement les 4 opérations élémentaires (+,-,*,/), la dérivation et l'intégration des polynômes.
 
Je sais que ça ne prendrait pas énormément de temps de refaire ça, mais je suppose que ça a déjà été fait 18000 fois par tout un tas de gens alors autant ne pas réinventer la roue. Pour l'instant, google ne m'a donné que de grosses usines à gaz (genre avec des constructeurs qui parsent des chaînes du type "3x + 5x^2" pour en extraire les coefficients, ou qui extraient les racines, ...). Bref, si quelqu'un connaissait une petite classe toute simple, ça m'arrangerait (sinon je le referai à la main...)
 
Merci :jap:


---------------
TriScale innov
Reply

Marsh Posté le 11-04-2006 à 16:37:56   

Reply

Marsh Posté le 12-04-2006 à 09:25:24    

Salut franceso,
 
Je crois que boost propose ce type de service. Je vérifie et je reviens.
 
Tiens non je n'ai pas trouvé dans boost (mais je ne connais pas beaucoup la librairie) :(


Message édité par slash33 le 12-04-2006 à 09:31:57
Reply

Marsh Posté le 12-04-2006 à 09:37:30    

Tiens j'ai trouvé ça:
http://math.stanford.edu/~pdehaye/ [...] nome/code/
 
A toi de voir ce que tu peux en faire.

Reply

Marsh Posté le 12-04-2006 à 09:47:39    

merci beaucoup slash33 :jap: : c'est de loin la classe la plus adaptée à ce que je veux faire (pas une usine à gaz qui fait le café comme ce qu'a pu me donner google) !
 
j'ai juste besoin de rajouter les méthodes d'intégration / dérivation et ce sera parfait !
 
 
PS : j'avais déjà regardé dans boost et j'ai été surpris de ne pas y trouver ce qu'il me fallait


---------------
TriScale innov
Reply

Marsh Posté le 12-04-2006 à 09:49:26    

Il existe pas mal de bibliothèques mathématiques pures.
 
Pour l'instant, je n'ai rien trouvé d'autre qui pourrait t'être utile et surtout qui est garanti sans bug!
 
Le CERN dispose apparement d'un sacré engin mais comme tu le sais, il faut en faire la demande auprès du CERN quoique cela t'es peut être possible. :jap:


Message édité par slash33 le 12-04-2006 à 09:51:01
Reply

Marsh Posté le 12-04-2006 à 09:53:46    

Sous Linux y a des choses pas mal genre celle-ci :
http://rpmfind.net/linux/RPM/Produ [...] _Math.html

Reply

Marsh Posté le 12-04-2006 à 10:04:14    

Ah ça y est : j'ai retrouvé la bibliothèque que j'avais identifié pendant mon job.
 
La voici : Octave (clone libre de Matlab)
http://www.gnu.org/software/octave/
 
Le volet consacré aux polynomes:
http://www.gnu.org/software/octave [...] ipulations


Message édité par slash33 le 12-04-2006 à 10:04:46
Reply

Marsh Posté le 12-04-2006 à 10:50:07    

[:drapal]

Reply

Marsh Posté le 12-04-2006 à 11:02:21    

merci beaucoup slash33. Je pense que je vais quand même rester sur la classe de stanford que tu m'as filée ce matin : je préfère utiliser un petit truc qui fait exactement ce que je veux et que je peux maitriser complèment, plutôt que des grosses bibliothèques de calcul formel (comme celle utilisée par octave) qui, certes, font ce que je veux, mais qui sont aussi tellement grosses que tu ne sais pas trop ce qu'il y a à l'intérieur
 
_darkalt3_ > tu t'intéresses aussi aux polynômes ?


Message édité par franceso le 12-04-2006 à 11:02:42

---------------
TriScale innov
Reply

Marsh Posté le 12-04-2006 à 14:09:30    

oki.

Reply

Marsh Posté le 12-04-2006 à 14:09:30   

Reply

Marsh Posté le 12-04-2006 à 14:22:58    

oui

Reply

Marsh Posté le 12-04-2006 à 14:36:06    

en fait, après avoir bien regardé la classe trouvée sur le site de stanfors, je me rends compte que je n'aime pas la manière dont est géré le degré : à chaque fois qu'on veut connaître le degré, on fait une boucle pour voir quels est le dernier coefficient non-nul.
 
Du coup, finalement je redéveloppe ma classe (en m'inspirant de ce qui a déjà été fait, bien sûr ;) ). Je posterai mon code quand j'aurai fini pour le cas où ça intéresserait du monde (et pour que vous me fassiez vos remarques aussi si vous en avez...)
 
Merci pour les conseils en tous cas...


---------------
TriScale innov
Reply

Marsh Posté le 12-04-2006 à 21:00:46    

Une petite question sur octave:
est-ce qu'il résoud des équations algébriques? (Vs numérique)

Reply

Marsh Posté le 12-04-2006 à 21:23:32    

Je ne sais pas si ça correspond bien à ta question mais bon:
http://www.gnu.org/software/octave [...] -Equations
 
La table des matières:
http://www.gnu.org/software/octave/doc/interpreter/


Message édité par slash33 le 12-04-2006 à 21:25:43
Reply

Marsh Posté le 12-04-2006 à 21:40:48    

je viens de parcourrir la table des matières mais j'ai pas trouvé..
vous conaissez mathématica? il est capables de résoudre des équations uniquement algébriques, c'est à dire trouver des solutions génériques à des problèmes.
par exemple tu peut lui faire résoudre:
sin(x)=y
sans lui spécifier quelle est la valeur de x et y:
x=asin(y)
 
ax^2+bx+c=0
->
(-b+-sqrt(b^2*4ac))/2a
 
un site avec mathématica en ligne:
http://www.hostsrv.com/webmab/app1 [...] e&s3=basic
 
en fait, ça fait un moment que je cherche quelquechose du genre pour linux.

Message cité 1 fois
Message édité par nargy le 12-04-2006 à 21:41:27
Reply

Marsh Posté le 12-04-2006 à 22:56:05    

nargy a écrit :

je viens de parcourrir la table des matières mais j'ai pas trouvé..
vous conaissez mathématica? il est capables de résoudre des équations uniquement algébriques, c'est à dire trouver des solutions génériques à des problèmes.
par exemple tu peut lui faire résoudre:
sin(x)=y
sans lui spécifier quelle est la valeur de x et y:
x=asin(y)
 
ax^2+bx+c=0
->
(-b+-sqrt(b^2*4ac))/2a
 
un site avec mathématica en ligne:
http://www.hostsrv.com/webmab/app1 [...] e&s3=basic
 
en fait, ça fait un moment que je cherche quelquechose du genre pour linux.

(-b+-sqrt(b^2-4ac))/2a à mon avis.  :)  
 
 

Reply

Marsh Posté le 12-04-2006 à 23:08:04    

Trap D a écrit :

(-b+-sqrt(b^2-4ac))/2a à mon avis.  :)


hein?

Reply

Marsh Posté le 13-04-2006 à 09:01:12    

Rien. Il te donne simplement la réponse à ton équation du second degré :
delta = b² - 4 ac
SI delta > 0 alors
x1 = (-b - racine_carree(delta)) / 2a, x2 = (-b + racine_carree(delta)) / 2a
SINON SI delta = 0
x = -b / 2a
SINON (delta < 0)
pas de solution
 
Voilà pour l'explication. Mais on s'en fout de la réponse en fait, ce qu'il veut c'est une API qui résoud les équations de dégré N

Message cité 1 fois
Message édité par slash33 le 13-04-2006 à 09:05:01
Reply

Marsh Posté le 13-04-2006 à 09:36:49    

Ouais, d'ac. N'importe quelle librairie gérant des matrices fait l'affaire.
Je demandais si, juste par hazard, il y aurait pas la même chose en algébrique.

Reply

Marsh Posté le 13-04-2006 à 14:42:47    

slash33 a écrit :

Rien. Il te donne simplement la réponse à ton équation du second degré :
delta = b² - 4 ac
SI delta > 0 alors
x1 = (-b - racine_carree(delta)) / 2a, x2 = (-b + racine_carree(delta)) / 2a
SINON SI delta = 0
x = -b / 2a
SINON (delta < 0)
pas de solution

pas de solution réelle [:aloy]
 


---------------
TriScale innov
Reply

Marsh Posté le 13-04-2006 à 14:57:53    

ouais, mathématica il te trouve des drôles de trucs des fois. Des nombres à plusieurs dimensions, je sais pas comment ça s'apelle après les réels et les complexes.
Il résoud les inégalités aussi, et les systèmes d'équations. Enfin plein de trucs sympa à utiliser quand tu programme, ça te permet d'inclure des calculs mathématiques complexes dans tes logiciels sans avoir à se taper 3 pages de calculs.

Reply

Marsh Posté le 13-04-2006 à 15:09:08    

franceso a écrit :

pas de solution réelle [:aloy]


Effectivement. C'est bien quelque chose qui m'a trotté dans la tête. Merci d'avoir corrigé.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed