Il y a de nombreux matheux qui fréquentent http:\\linuxfr.org, ils seront heureux d'apprendre que le logiciel de calcul formel "Maxima" vient de sortir dans une nouvelle version, la 5.10.0.
L'adresse du site officiel : http://maxima.sourceforge.net/index.shtml
# \\ au lieu de //
Posté par Jellyroll (site web personnel) . Évalué à 5.
Les mauvaises habitudes sont tenaces.
Jellyroll
[^] # Re: \\ au lieu de //
Posté par Prae . Évalué à 3.
D'habitude, tu écris tes URLS avec des "\" ?!
[^] # Re: \\ au lieu de //
Posté par Etre-ange . Évalué à 2.
# Quelques mots sur Maxima
Posté par un_brice (site web personnel) . Évalué à 10.
Je l'aime encore plus après avoir du utiliser l'infâme Mapple à la fac. Deux exemples concrets :
* le développement de f(x) en une série de Taylor d'ordre 4 et en 0 (approximation près de 0 d'une fonction par un polynôme d'ordre 4, très utile) :
mapple : convert(series(f,x,0,4),polynom);
maxima : taylor(f,x,0,4)
* déterminer l'opérateur d'une expression (ici +) :
mapple : whattype(1+2)
maxima : op(1+2)
Ce ne sont pas des exemples arbitraires mais deux premiers exercices de mon cours de découverte de Mapple à Lyon1.
(les screenshots de deux exercices complets sur iMaxima et Mapple sont disponibles ici : http://98111.free.fr/pple2xima/ )
Quand on ajoute à ça que Mapple est propriétaire, très cher, et que l'interface est en Java; alors que Maxima est libre, codé en Lisp avec des interface pour tout les goûts, le choix est vite fait.
En plus, l'utilisation de Maxima est autorisée pour l'Agrégation.
[^] # Re: Quelques mots sur Maxima
Posté par 태 (site web personnel) . Évalué à 3.
Je ne suis pas sur que plus de noms de fonctions pour faire les mêmes choses soit un avantage. Genre pour les gens qui ne connaissent pas Taylor, tu as expliqué que c'était une approximation polynomiale. Les gens qui ne connaissent pas Taylor ne trouveront pas la fonction dans maxima mais ils peuvent la trouver dans maple.
Et si tu l'utilises souvent et que ça te fatigue d'écrire 38 fois tout ça, tu peux définir taylor à partir de convert, ce n'est pas bien compliqué.
En regardant les screenshots, j'ai l'impression que series (maple) est exactement pareil que taylor (maxima).
[^] # Re: Quelques mots sur Maxima
Posté par un_brice (site web personnel) . Évalué à 2.
Le nom de Taylor, qui est spécifique à l'approximation en question, me parrait bien plus descriptif que le terme générique de "series". "series" ça peut aussi bien être "série de fourrier" ou n'importe quoi.
La grosse différence c'est que je peut directement tracer la sortie de Taylor pour constater l'écart de l'approximation par rapport à la courbe initiale, alors qu'avec series ça marcherait pas. D'où la "convertion en polynome".
De manière générale, Mapple propose tout un tas d'opérateur hyper-generiques, à la "convert()", dont le nom est tellement flou qu'il ne veut rien dire et que les arguments en déterminent la portée, le typage et le comportement.
Même en dehors de ça, là syntaxe est vraiment pourrite : genre pour enlever les "2" de ma liste, je doit faire remove(has,L,2). Ce qui correspond à passer à la fonction remove la fonction "lambda x -> has(x,2)", "has" étant un test d'égalité.
Tu va pas me dire que c'est normal ou efficace d'avoir à penser en terme de lambda calcul quand on veut juste enlever des chiffres dans une liste. Ni que leur syntaxe représente le lambda calcul de manière intelligible (perso j'ai mis longtemps à comprendre pourquoi ça s'utilisait comme ça).
Alors oui, c'est sûr, on peut recouvrir toute cette horreur de noms simples à utiliser. Quitte à tout recoder dans le langage interne.
Mais autant utiliser Maxima (qui est libre touça touça...)
[^] # Re: Quelques mots sur Maxima
Posté par Troy McClure (site web personnel) . Évalué à 4.
Note que ça tombe bien, "series" est une fonction générique. Si tu ne veux que des dev en serie de taylor, il y a une fonction au nom incroyable de "taylor" !
[^] # mea-culpa
Posté par un_brice (site web personnel) . Évalué à 3.
mapple : convert(taylor(f,x,0,4),polynom);
maxima : taylor(f,x,0,4);
Qui du coup choque beaucoup moins.
Désolé.
Le reste a toujours cours... en toute rigueur faudrais que je remplace mon exemple avec series par un autre, mais j'ai que ces deux exos sous la main. Et puis c'est trop facile de pourrir un logiciel en exhibant autre chose que des cas concrets pris au hasard.
En fait, on pourrait noter le indents (pour "indeterminates", exercice1) qui tient lieu sous maple de listofvars. C'est bien moche, mais pas aussi structurel que les horreur de type ou les incohérence dans les conventions de nomage.
[^] # Re: Quelques mots sur Maxima
Posté par zerbro . Évalué à 1.
Mais de mon souvenir, Maple etait un bonheur a utiliser pour les maths, faire quelques procedures un peu évoluées etc... Langage tres simple, et surtout, tres rapide et extremement puissant. Bref, je trouvais la syntaxe de maple un vrai bonheur (comparé a mupad).
Je ne connais pas maxima comme je l'ai dit, donc je ne dirais rien dessus. Mais dire que la comande taylor n'existe pas sous maple, est vrai mensonge... Une recherche rapide sur google confirmera ca.
Apres, bien que la syntaxe soit importante, as tu comparé les performances de l'un ou l'autre ? La différence se trouve souvent ici. Et si elle n'est pas importante pour les TP d'apprentissage, des que tu veux faire quelques trucs un peu sérieux, ca devient essentiel.
Un exemple autre : dans les logiciels de calculs scientifiques. Il existe Matlab, entierement propriétaire. Octave qui est libre et scilab gratuit développé par l'inria.
Et bien tu ne me fera jamais utilisé quoique ce soit d'autre que Matlab. C'est cher, c'est vrai. Mais qu'est ce que c'est rapide et puissant. Quelque chose de bien codé en matlab est rapide a l'execution et rapide a developper. Un code C ne sera, généralement, pas vraiment plus rapide car c'est plus dur a coder pour arriver aux memes performances (mais en y passant beaucoup de temps avec les bonnes bibliothèques, on améliore quand meme les choses, mais vu le l'énergie que ca demande, ca vaut pas le coup).
Donc oui, les logiciels scientifiques sont cher, mais ceux que j'ai utilisé était un vrai bonheur, et ne sont pas destinés aux particuliers.
Par contre, pour des TP, les équivalents libres ou gratuits sont souvent largement suffisant. La question qui se pose alors est : étant donné que dans l'industrie, il est souvent demandé de savoir utiliser les logiciels proprio, que doit on utiliser en TP ?
[^] # Re: Quelques mots sur Maxima
Posté par Pascal . Évalué à 1.
En effet:
- Maple et Maxima sont des logiciels de calculs formels. Ils peuvent calculer des dérivées, des séries de taylor, résoudre des equations.... en gardant des valeurs exactes. Ils servent donc principalement à faire des maths.
- Matlab, Octave et Scilab sont plus proches des langages de programmation classiques. Ils ne permettent de réaliser que des calculs numériques (potentiellement en utilisant des valeurs approchés). En fait, tout ce qui est réalisable en Matlab est facilement traductible en C par exemple (souvent en multipliant le nombre de lignes et de bugs par 10). En effet Matlab n'est qu'un langage de programmation optimisé pour les calculs numériques, et les matrices. C'est pour cela que ces trois langages sont plutôt utilisés pour des simulation dans des domaines appliqués (physique, traitement du signal, économie....).
[^] # Re: Quelques mots sur Maxima
Posté par LeMagicien Garcimore . Évalué à 2.
C'est vrai, Matlab et Maple n'ont rien a voir. Mais ca tombe bien il ne les compare pas. Il dit juste "les logiciels de calculs formels payant sont souvent mieux. Et c'est aussi le cas des logiciels de calculs numeriques."
[^] # Re: Quelques mots sur Maxima
Posté par PegaseYa . Évalué à 2.
L'intérêt d'utiliser matlab/scilab est dans la représentation des données et non pas dans la rapidité d'exécution. Ceci dit, avant de trouver que c'est trop lent, faut quand même avoir de sacrés calculs à faire.
[^] # Re: Quelques mots sur Maxima
Posté par zerbro . Évalué à 2.
L'avantage de matlab est la rapidité de developpement d'un prototype. Et si c'est lent en matlab, il faut surement revoir l'algorithme lui même, plutot que de ce dire "c'est matlab qui est lent, en C, ca sera plus rapide".
[^] # Re: Quelques mots sur Maxima
Posté par tipote . Évalué à 1.
Il me semble qu'Octave peut être aussi rapide et puissant que Matlab avec "quelque chose de bien codé". En gros, tout ce que tu sais écrire vectoriellement sera très rapide (comme sum(M), où M est un vecteur), tandis que les boucles sont lentes (comme faire une boucle sur les coordonnées de M). Matlab est plus performant de ce côté-là parce qu'il contient un compilateur à la volée ("just in time", JIT) pour rattraper la lenteur des boucles. Mais ça ne fait qu'empêcher de prendre des bonnes habitudes et d'écrire vectoriellement.
Il y a aussi une question d'options de compilation. Je doute que toutes les distributions se valent dans ce domaine. Pour pousser Octave dans ses retranchements, il faut le compiler avec ATLAS, BLAS, LAPACK et compagnie. Ce n'est probablement pas partout le cas, et c'est dommage.
Tu crois qu'ils utilisent Maple dans l'industrie ? J'en doute. C'est quand même pour les calculs formels, hein ! C'est pas du calcul de structure...
Matlab ? Ça mérite d'être vérifié aussi. "Industrie" pour moi est synonyme de développement, conception. Matlab est peu utile dans ce cas. Il l'est plus dans le domaine de la recherche, et là je trouve que les laboratoires publics en particulier pourraient utiliser le libre bien plus.
[^] # Re: Quelques mots sur Maxima
Posté par zerbro . Évalué à 4.
Pour l'utilisation du libre dans le public a la place de matlab, pour l'instant je doute que les equivalents offrent autant de possibilité. Matlab permet de developper une interface graphique rapidement et efficacement. La plupart des toolbox matlab n'ont pas d'équivalent chez les autres, et matlab fournit en standard tout l'environement de developpement avec debuggeur etc..
Vraiment, matlab est un logiciel formidable, et je n'ai rien a lui reprocher. D'autant que la plupart des codes des fonctions sont disponibles, ce qui est l'aspect le plus important pour les chercheurs.
Le probleme est aussi la : matlab est utilisé partout, donc les codes sont disponibles en matlab. Meme si octave est souvent parfaitement compatible, des fois ca coince.
Pour maple dans l'industrie, ca doit etre beaucoup plus rare, je te l'accorde.
[^] # Re: Quelques mots sur Maxima
Posté par tipote . Évalué à 2.
Justement, en terme de licence, c'est loin d'être bien ! Les codes sont disponibles, mais sont-ils réutilisables ? Utiliser Matlab, c'est aussi s'enfermer... Bien entendu, en tant qu'employé, on ne choisit pas forcément et c'est dommage.
[^] # Re: Quelques mots sur Maxima
Posté par Thomas Douillard . Évalué à 2.
[^] # Re: Quelques mots sur Maxima
Posté par un_brice (site web personnel) . Évalué à 6.
Le sujet du premier TP seras "Pourquoi le chargé de TP supporte pas Maple" (avec diatribe pro-GPL4 incluse), et je leurs fournirai moultes remarques mesquines sur le logiciel au fur et mesure du semestre.
Heureusement, j'aurais jamais le niveau pour enseigner.
[^] # Re: Quelques mots sur Maxima
Posté par Snark_Boojum . Évalué à 2.
# etch
Posté par Anonyme . Évalué à -3.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.