Article de reference

Érable (logiciel)

Maple est un environnement de calcul symbolique et numérique ainsi qu'un langage de programmation multi-paradigme . Il couvre plusieurs domaines de l'informatique technique, tel...

Maple est un environnement de calcul symbolique et numérique ainsi qu'un langage de programmation multi-paradigme . Il couvre plusieurs domaines de l'informatique technique, tels que les mathématiques symboliques, l'analyse numérique, le traitement des données, la visualisation, etc. Une boîte à outils, MapleSim , ajoute des fonctionnalités pour la modélisation physique multidomaine et la génération de code.

Les capacités de calcul symbolique de Maple incluent celles d'un système d'algèbre informatique à usage général . Par exemple, il peut manipuler des expressions mathématiques et trouver des solutions symboliques à certains problèmes, tels que ceux découlant d' équations aux dérivées ordinaires et partielles .

Maple est développé commercialement par la société canadienne de logiciels Maplesoft . Le nom « Maple » fait référence à l' héritage canadien du logiciel .

Aperçu

Fonctionnalités de base

Les utilisateurs peuvent saisir des données mathématiques en notation mathématique traditionnelle . Des interfaces utilisateur personnalisées peuvent également être créées. Il existe une prise en charge des calculs numériques, avec une précision arbitraire, ainsi que du calcul et de la visualisation symboliques. Des exemples de calculs symboliques sont donnés ci-dessous.

Maple intègre un langage de programmation de type impératif typé dynamiquement (ressemblant à Pascal ), qui autorise les variables de portée lexicale . Il existe également des interfaces vers d'autres langages ( C , C# , Fortran , Java , MATLAB et Visual Basic ), ainsi que vers Microsoft Excel .

Maple prend en charge MathML 2.0, un format W3C permettant de représenter et d'interpréter des expressions mathématiques, y compris leur affichage dans des pages Web. Il existe également une fonctionnalité permettant de convertir des expressions de notation mathématique traditionnelle en balisage adapté au système de composition LaTeX .

Architecture

Maple est basé sur un petit noyau , écrit en C , qui fournit le langage Maple. La plupart des fonctionnalités sont fournies par des bibliothèques, qui proviennent de diverses sources. La plupart des bibliothèques sont écrites en langage Maple ; elles ont un code source visible. De nombreux calculs numériques sont effectués par les bibliothèques numériques NAG , les bibliothèques ATLAS ou les bibliothèques GMP .

Différentes fonctionnalités de Maple nécessitent des données numériques dans différents formats. Les expressions symboliques sont stockées en mémoire sous forme de graphes acycliques orientés . L'interface standard et l'interface de la calculatrice sont écrites en Java .

Histoire

Le premier concept de Maple est né lors d'une réunion à la fin de 1980 à l' Université de Waterloo . Les chercheurs de l'université souhaitaient acheter un ordinateur suffisamment puissant pour exécuter le système de calcul formel Macsyma basé sur Lisp . Au lieu de cela, ils ont choisi de développer leur propre système de calcul formel, appelé Maple, qui fonctionnerait sur des ordinateurs moins coûteux. Visant la portabilité, ils ont commencé à écrire Maple dans des langages de programmation de la famille BCPL (en utilisant initialement un sous-ensemble de B et C , puis uniquement C). Une première version limitée est apparue au bout de trois semaines, et des versions plus complètes sont entrées en usage courant à partir de 1982. À la fin de 1983, plus de 50 universités avaient des copies de Maple installées sur leurs machines.

En 1984, le groupe de recherche a conclu un accord avec Watcom Products Inc pour obtenir une licence et distribuer la première version commerciale, Maple 3.3. En 1988, Waterloo Maple Inc. (Maplesoft) a été fondée. L'objectif initial de la société était de gérer la distribution du logiciel, mais elle a fini par se développer pour avoir son propre département de R&D, où la majeure partie du développement de Maple se déroule aujourd'hui (le reste étant effectué dans divers laboratoires universitaires ).

En 1989, la première interface utilisateur graphique pour Maple a été développée et incluse dans la version 4.3 pour Macintosh . Les versions X11 et Windows de la nouvelle interface ont suivi en 1990 avec Maple V. En 1992, Maple V Release 2 a introduit la « feuille de calcul » Maple qui combinait texte, graphiques et sortie d'entrée et de composition. En 1994, un numéro spécial d'un bulletin d'information créé par les développeurs de Maple appelé MapleTech a été publié.

En 1999, avec la sortie de Maple 6, Maple a inclus certaines des bibliothèques numériques NAG . En 2003, l'interface « standard » actuelle a été introduite avec Maple 9. Cette interface est principalement écrite en Java (bien que des parties, telles que les règles de composition de formules mathématiques, soient écrites dans le langage Maple). L'interface Java a été critiquée pour sa lenteur ; des améliorations ont été apportées dans les versions ultérieures, bien que la documentation de Maple 11 recommande l'interface précédente (« classique ») pour les utilisateurs ayant moins de 500 Mo de mémoire physique.

Entre 1995 et 2005, Maple a perdu une part de marché importante au profit de ses concurrents en raison d'une interface utilisateur plus faible. Avec Maple 10 en 2005, Maple a introduit une nouvelle interface « mode document », qui a depuis été développée dans plusieurs versions.

En septembre 2009, Maple et Maplesoft ont été acquis par le détaillant de logiciels japonais Cybernet Systems.

Historique des versions

  • Maple 1.0 : janvier 1982
  • Maple 1.1 : janvier 1982
  • Maple 2.0 : mai 1982
  • Maple 2.1 : juin 1982
  • Maple 2.15 : août 1982
  • Maple 2.2 : Décembre 1982
  • Maple 3.0 : mai 1983
  • Maple 3.1 : octobre 1983
  • Maple 3.2 : avril 1984
  • Maple 3.3 : mars 1985 (première version publique disponible)
  • Maple 4.0 : avril 1986
  • Maple 4.1 : mai 1987
  • Maple 4.2 : Décembre 1987
  • Maple 4.3 : mars 1989
  • Maple V : août 1990
  • Maple V R2 : novembre 1992
  • Maple V R3 : 15 mars 1994
  • Maple V R4 : Janvier 1996
  • Maple V R5 : 1er novembre 1997
  • Maple 6 : 6 décembre 1999
  • Maple 7 : 1er juillet 2001
  • Maple 8 : 16 avril 2002
  • Maple 9 : 30 juin 2003
  • Maple 9.5 : 15 avril 2004
  • Maple 10 : 10 mai 2005
  • Maple 11 : 21 février 2007
  • Maple 11.01 : juillet 2007
  • Maple 11.02 : novembre 2007
  • Maple 12 : mai 2008
  • Maple 12.01 : octobre 2008
  • Maple 12.02 : Décembre 2008
  • Maple 13 : 28 avril 2009
  • Maple 13.01 : juillet 2009
  • Maple 13.02 : octobre 2009
  • Maple 14 : 29 avril 2010
  • Maple 14.01 : 28 octobre 2010
  • Maple 15 : 13 avril 2011
  • Maple 15.01 : 21 juin 2011
  • Maple 16 : 28 mars 2012
  • Maple 16.01 : 16 mai 2012
  • Maple 17 : 13 mars 2013
  • Maple 17.01 : juillet 2013
  • Maple 18 : 5 mars 2014
  • Maple 18.01 : mai 2014
  • Maple 18.01a : juillet 2014
  • Maple 18.02 : novembre 2014
  • Maple 2015.0 : 4 mars 2015
  • Maple 2015.1 : novembre 2015
  • Maple 2016.0 : 2 mars 2016
  • Maple 2016.1 : 20 avril 2016
  • Maple 2016.1a : 27 avril 2016
  • Maple 2017.0 : 25 mai 2017
  • Maple 2017.1 : 28 juin 2017
  • Maple 2017.2 : 2 août 2017
  • Maple 2017.3 : 3 octobre 2017
  • Maple 2018.0 : 21 mars 2018
  • Maple 2019.0 : 14 mars 2019
  • Maple 2020.0 : 12 mars 2020
  • Maple 2021.0 : 10 mars 2021
  • Maple 2022.0 : 15 mars 2022
  • Maple 2023.0 : 9 mars 2023

Caractéristiques

Les fonctionnalités de Maple incluent :

Exemples de code Maple

Le code suivant, qui calcule la factorielle d'un entier non négatif, est un exemple de construction de programmation impérative dans Maple :

myfac := proc ( n::nonnegint ) local out , i ; out := 1 ; pour i de 2 à n do out := out * i end do ; out end proc ;

Des fonctions simples peuvent également être définies à l'aide de la notation fléchée « mappée vers » :

myfac := n -> produit ( i , i = 1. . n ) ;

Intégration

Trouver

.
int ( cos ( x / a ) , x ) ;

Sortir:

Déterminant

Calculer le déterminant d'une matrice.

M := Matrice ([[ 1 , 2 , 3 ] , [ a , b , c ] , [ x , y , z ]]) ; # exemple de matrice
Algèbre linéaire : - Déterminant (M) ; 

Extension de la série

série ( tanh ( x ) , x = 0 , 15 )

Résoudre les équations numériquement

Le code suivant calcule numériquement les racines d'un polynôme d'ordre élevé :

f := x ^ 53 - 88 * x ^ 5 - 3 * x - 5 = 0
fsolve ( f )
-1.097486315 , - . 5226535640 , 1.099074017

La même commande peut également résoudre des systèmes d’équations :

f := ( cos ( x + y )) ^ 2 + exp ( x ) * y + cot ( x - y ) + cosh ( z + x ) = 0 :
g := x ^ 5 - 8 * y = 2 :
h := x + 3 * y - 77 * z = 55 ; fsolve ( { f , g , h } ) ;
{ x = - 2,080507182 , y = - 5,122547821 , z = - 0,9408850733 }

Tracé de la fonction d'une variable unique

Graphique avec une plage allant de -10 à 10 :

tracé ( x * sin ( x ) , x = - 10. . 10 ) ;

Tracé de la fonction de deux variables

Graphique avec et allant de -1 à 1 :

plot3d ( x ^ 2 + y ^ 2 , x = - 1. . 1 , y = - 1. . 1 ) ;

Animation des fonctions

  • Animation de la fonction de deux variables
tracés :- animer ( subs ( k = 0.5 , f ) , x =- 30. . 30 , t =- 10. . 10 , nombre de points = 200 , cadres = 50 , couleur = rouge , épaisseur = 3 ) ;
Solution de cloche 2D
  • Animation des fonctions à trois variables
tracés :- animate3d ( cos ( t * x ) * sin ( 3 * t * y ) , x =- Pi .. Pi , y =- Pi .. Pi , t = 1. . 2 ) ;
Animation 3D de la fonction
  • Animation en survol de tracés 3D.
M := Matrice ([[ 400 , 400 , 200 ] , [ 100 , 100 ,- 400 ] , [ 1 , 1 , 1 ]] , type de données = float [ 8 ]) : plot3d ( 1 , x = 0. . 2 * Pi , y = 0. . Pi , axes = aucun , coordonnées = sphérique , point de vue = [ chemin = M ]) ;
Plan d'érable3D flythrough

Transformée de Laplace

f := ( 1 + A * t + B * t ^ 2 ) * exp ( c * t ) ;
inttrans :- laplace ( f , t , s ) ;
  • transformée de Laplace inverse
inttrans :- invlaplace ( 1 / ( s - a ) , s , x ) ;

Transformée de Fourier

inttrans :- fourier ( sin ( x ) , x , w )

Équations intégrales

Trouver des fonctions qui satisfont l' équation intégrale

.
équation := f ( x ) - 3 * Int (( x * y + x ^ 2 * y ^ 2 ) * f ( y ) , y =- 1. . 1 ) = h ( x ) : intsolve ( équation , f ( x )) ;

Utilisation du moteur Maple

Le moteur Maple est utilisé dans plusieurs autres produits de Maplesoft :

  • MapleNet permet aux utilisateurs de créer des pages JSP et des applets Java . MapleNet 12 et versions ultérieures permettent également aux utilisateurs de télécharger et de travailler avec des feuilles de calcul Maple contenant des composants interactifs.
  • MapleSim , un outil de simulation d'ingénierie.
  • Le package Maple Quantum Chemistry de RDMChem calcule et visualise les énergies électroniques et les propriétés des molécules.

Vous trouverez ci-dessous la liste des produits commerciaux tiers qui n'utilisent plus le moteur Maple :

  • Les versions de Mathcad publiées entre 1994 et 2006 incluaient un moteur d'algèbre dérivé de Maple (MKM, alias Mathsoft Kernel Maple), bien que les versions ultérieures utilisent MuPAD .
  • La boîte à outils de mathématiques symboliques de MATLAB contenait une partie du moteur Maple 10, mais utilise désormais MuPAD (à partir de la version MATLAB R2007b+).
  • Les anciennes versions de l'éditeur mathématique Scientific Workplace incluaient Maple comme moteur de calcul, bien que les versions actuelles incluent MuPAD .

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index