Différences entre les versions de « Mathematica »

(115 versions intermédiaires par 8 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 
[[Catégorie:Logiciels]]
 
[[Catégorie:Logiciels]]
  
[[Image:Mathematica_Logo.jpg|thumb|Le logo de Mathematica.]]
+
[[Image:Mathematica_Logo.jpg|thumb]]
  
'''Mathematica''' est un logiciel propriétaire de calcul formel conçu par la société Wolfram Research.
+
'''Mathematica''' est un logiciel propriétaire de calcul formel conçu par la société [http://www.wolfram.com/ Wolfram Research].
 
 
blabla <m>\small\mbox{a^2+b^2+2a}</m> blabla
 
  
 +
Le système de Mathematica est formé d'un noyau, qui réalise les calculs et peut être exécuté sur une autre machine que celle de l'utilisateur, et d'une interface interactive pour entrer les données. Celle-ci attend des entrées de l'utilisateur exprimées dans le langage de Mathematica, selon une syntaxe définie, et affiche le résultat des calculs sous forme de texte simple, de formules, ou d'images.
  
Le système de Mathematica est formé d'un noyau, qui réalise les calculs et peut être exécuté sur une autre machine que celle de l'utilisateur, et d'une interface interactive pour entrer les données. Celle-ci attend des entrées de l'utilisateur exprimées dans le langage de Mathematica, selon une syntaxe définie, et affiche le résultat des calculs sous forme de texte simple, de formules, ou d'images.
 
  
 
__TOC__
 
__TOC__
Ligne 14 : Ligne 12 :
 
== Guide ==
 
== Guide ==
  
=== '''Démarrer Mathematica''' ===
+
=== Démarrer Mathematica ===
  
Pour démarrer le logiciel, vous pouvez soit entrer la commande
+
Pour démarrer le logiciel, vous pouvez soit entrer la [[Commandes_élémentaires|commande]]
 
<pre>
 
<pre>
 
mathematica
 
mathematica
 
</pre>
 
</pre>
soit cliquer sur l'icône représentant le logo de Mathematica, situé dans le menu du haut.
+
dans un terminal (icône [[Image:TerminalIcone.png]]), soit cliquer sur l'icône représentant le logo de Mathematica, situé dans la barre du haut.
 +
 
 +
Vous pouvez également démarrer Mathematica en mode ligne commandes, en entrant plutôt
 +
<pre>
 +
math
 +
</pre>
 +
dans un terminal de commandes.
 +
 
 +
=== Installation de Mathematica sur un ordinateur personnel ===
 +
 
 +
Mathematica est disponible pour les étudiants du DMS inscrits aux cours de mathématiques.
 +
 
 +
* Connectez-vous au [[Réseau_sécurisé|'''réseau sécurisé''']].
 +
* Visiter la page&nbsp;: http://ti.umontreal.ca/.
 +
* Entrez votre code d'accès TI comme ''User Name'' et votre UNIP comme ''Password''.
 +
* Cochez ''J'accepte les termes de la directive'' puis cliquez sur ''Valider''.
 +
* Depuis le menu déroulant, sélectionnez le logiciel à télécharger puis appuyez sur ''Valider''.
 +
* Suivez la procédure de téléchargement et d'installation affichée à l'écran.
 +
{|
 +
|rowspan="2"|[[Image:Attention.png|40px]]
 +
|
 +
Pour obtenir la clé d'activation de Mathematica, utilisez votre adresse ''@dms.umontreal.ca'' ou ''@umontreal.ca''.
 +
|}
  
=== '''Apprentissage de Mathematica''' ===
+
=== Apprentissage de Mathematica ===
  
Si vous êtes un nouvel utilisateur de Mathematica, ou encore si vous souhaitez approfondir vos connaissances de ce langage, les liens suivants sauront vous aider:
+
Si vous êtes un nouvel utilisateur de Mathematica, ou encore si vous souhaitez approfondir vos connaissances de ce logiciel, les liens suivants sauront vous aider&nbsp;:
  
* [http://www.wolfram.com/learningcenter/tutorialcollection/CoreLanguage/CoreLanguage.pdf ''Wolfram Mathematica Tutorial Collection, Core Language'' - Pour apprendre à utiliser le langage Mathematica.]
+
* [https://library.wolfram.com/infocenter/Books/8499/ ''Wolfram Mathematica Tutorial Collection, Core Language'' - Pour apprendre à utiliser le langage Mathematica]
* [http://reference.wolfram.com/mathematica/guide/Mathematica.html ''Documentation Center'' - Centre complet de documentation sur Mathematica.]
+
* [http://reference.wolfram.com/mathematica/guide/Mathematica.html ''Documentation Center'' - Centre complet de documentation sur Mathematica]
* [http://www.dms.umontreal.ca/~mat1681/notesDeCours/notesA10/maitre.pdf Excellent guide Mathematica employé pour le cours ''MAT 1681'', écrit par Yvan Saint-Aubin, Alexandre Girouard et Laurent Delisle.]
 
  
 
Le centre documentation est également accessible depuis Mathematica, en cliquant sur le menu ''Help'' et ensuite ''Documentation Center'', ou encore en appuyant sur la touche F1.
 
Le centre documentation est également accessible depuis Mathematica, en cliquant sur le menu ''Help'' et ensuite ''Documentation Center'', ou encore en appuyant sur la touche F1.
 +
 +
=== Programmation GPU ===
 +
 +
Les versions 8 et plus récentes de Mathematica offrent la possibilité de faire exécuter des commandes par le processeur de la carte graphique, aussi appelé  [[Programmation_GPU|GPU]] pour ''Graphical Processing Unit''. L'avantage de cette technique réside dans l'architecture particulière des nouvelles générations de GPU qui sont conçus pour effectuer des calculs en parallèle. Les opérations vectorielles et matricielles en algèbre linéaire sont des exemples de calculs facilement parallélisables.
 +
 +
Mathematica propose deux outils pour la programmation GPU: CUDALink et OpenCLLink. Le premier emploie le langage [[CUDA|CUDA]] pour les cartes NVIDIA, alors que le deuxième emploie OpenCL, un ensemble de fonctions standards permettant l'utilisation des GPUs de divers fabricants (NVIDIA, ATI, etc.). Au Département, les cartes graphiques des machines dans les laboratoires sont de marque NVIDIA: nous vous recommandons donc d'utiliser la première option, CUDALink.
 +
 +
Voici une liste de liens utiles:
 +
 +
* [http://reference.wolfram.com/mathematica/CUDALink/tutorial/Overview.html ''CUDALink User Guide'' - Guide de l'utilisateur CUDALink]
 +
* [http://reference.wolfram.com/mathematica/OpenCLLink/tutorial/Overview.html ''OpenCLLink User Guide'' - Guide de l'utilisateur OpenCLLink]
 +
* [http://www.dms.umontreal.ca/downloads/CUDA/CUDALink.nb Exemple maison portant sur la multiplication de deux matrices avec CUDALink]
  
 
== Exemples ==
 
== Exemples ==
Ligne 36 : Ligne 67 :
 
Dans ce qui suit, quelques exemples très simples vous sont proposés dans l'optique de vous familiariser avec les commandes de base de Mathematica.
 
Dans ce qui suit, quelques exemples très simples vous sont proposés dans l'optique de vous familiariser avec les commandes de base de Mathematica.
  
=== '''Opérations arithmétiques et simplifications''' ===
+
=== Opérations arithmétiques et simplifications ===
  
Pour additionner (+), soustraire (-), diviser (/), multiplier (* ou espace) ou élever à une puissance (^), il suffit d'entrer les opérandes en les espaçant par le symbole approprié, comme si vous faisiez usage d'une calculatrice. De plus, la priorité des opérations est respectée par Mathematica; l'usage des parenthèses () est nécessaire par endroit.  
+
Pour additionner (+), soustraire (-), diviser (/), multiplier (* ou espace) ou élever à une puissance (^), il suffit d'entrer les opérandes en les espaçant par le symbole approprié, comme si vous faisiez usage d'une calculatrice. De plus, la priorité des opérations est respectée par Mathematica; l'usage de parenthèses () est nécessaire par endroit.  
  
Pour faire évaluer une expression ou une commande par Mathematica, appuyez sur ''NumPad Enter'', c'est-à-dire la touche ''Enter'' sur le pavé numérique, ou encore faites ''Shift+Enter''.
+
Chaque fois que vous souhaitez faire évaluer une expression ou une commande par Mathematica, vous devez appuyer sur ''NumPad Enter'', c'est-à-dire la touche ''Enter'' sur le pavé numérique, ou encore sur ''Shift+Enter'', en vous assurant que le pointeur de votre souris se trouve bien dans la cellule à évaluer.
  
Il arrive fréquemment que la réponse fournit par Mathematica ne soit pas "complètement" simplifiée, ou encore que vous souhaitiez que Mathematica tente de simplifier une expression pour vous. Ceci est effectué par la commande ''FullSimplify''. Par exemple,  
+
Il arrive fréquemment que la réponse fournit par Mathematica ne soit pas complètement simplifiée, ou encore que vous souhaitiez que Mathematica tente de simplifier une expression pour vous. Ceci est effectué par la commande ''FullSimplify''. Par exemple,  
 
<pre>
 
<pre>
 
FullSimplify[x^3 - 6*x^2 + 11*x - 6]
 
FullSimplify[x^3 - 6*x^2 + 11*x - 6]
 
</pre>
 
</pre>
retourne <m>\small(-3 + x) (-2 + x) (-1 + x)</m>.
+
retourne <math>(-3 + x) (-2 + x) (-1 + x)</math>.
  
 
À l'opposé, si vous souhaitez développer une expression, c'est la commande ''Expand'' qu'il faut employer:
 
À l'opposé, si vous souhaitez développer une expression, c'est la commande ''Expand'' qu'il faut employer:
Ligne 52 : Ligne 83 :
 
Expand[(-3 + x) (-2 + x) (-1 + x)]
 
Expand[(-3 + x) (-2 + x) (-1 + x)]
 
</pre>
 
</pre>
ce qui donne <m>\small-6+11x-6x^2+x^3</m>, le résultat attendu.
+
ce qui donne <math>-6+11x-6x^2+x^3</math>, le résultat attendu.
  
=== '''Assignation d'une variable''' ===
+
=== Assignation d'une variable ===
  
 
Pour assigner une valeur numérique, par exemple 3.14159 à une variable ''x'', vous n'avez qu'à entrer
 
Pour assigner une valeur numérique, par exemple 3.14159 à une variable ''x'', vous n'avez qu'à entrer
Ligne 60 : Ligne 91 :
 
x = 3.14159
 
x = 3.14159
 
</pre>
 
</pre>
dans une nouvelle ligne. Veuillez noter que Mathematica possède une constante désignée pour <m>\pi</m>, appelée ''Pi'', pour laquelle il est possible d'obtenir son expression à une précision arbitrairement élevée. Par exemple, pour obtenir pi jusqu'à la 100e décimale:
+
dans une nouvelle ligne. Veuillez noter que Mathematica possède une constante désignée pour <math>\pi</math>, nommée ''Pi'', qu'il est possible d'évaluer à une précision arbitrairement élevée. Par exemple, pour obtenir <math>\pi</math> jusqu'à la 100e décimale:
 
<pre>
 
<pre>
 
N[Pi,100]
 
N[Pi,100]
 
</pre>
 
</pre>
ce qui renvoie ''3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068''. La commande ''N'' sert à approximer une constante exacte (comme <m>\pi</m>, <m>\textstyle\frac{1}{3}</m>, etc.). Si le nombre de chiffres significatifs n'est pas spécifié (100 dans l'exemple précédant), alors six chiffres significatifs seront employés par défaut.
+
ce qui renvoie ''3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068''. La commande ''N'' sert à approximer une constante exacte (comme <math>\pi</math>, <math>1/3</math> etc.) par un certain nombre de chiffres significatifs (100 dans l'exemple précédant, 6 par défaut).
  
=== '''Création d'une fonction''' ===
+
=== Définition d'une fonction ===
  
Pour définir la fonction <m>\small f(x)=x^2</m>, vous devez entrer
+
Mathematica vous offre la possibilité de définir vos propres fonctions. Par exemple, pour définir <math>f(x)=x^2</math>, vous devez entrer
 
<pre>
 
<pre>
 
f[x_] = x^2
 
f[x_] = x^2
 
</pre>
 
</pre>
Si vous souhaitez définir une fonction, sans l'évaluer immédiatement, vous devez utiliser l'opérateur '':='' plutôt que ''=''. Par exemple, l'évaluation de
+
Si vous souhaitez plutôt définir une fonction mais sans l'évaluer immédiatement, vous devez utiliser l'opérateur ":=" plutôt que "=". Par exemple, l'expression
 
<pre>
 
<pre>
 
f[x_] = Expand[x^2]
 
f[x_] = Expand[x^2]
 
</pre>  
 
</pre>  
signifiera que <m>\small f(x)=x^2</m> pour Mathematica. Si le résultat espéré est plutôt la création d'une fonction qui développe le carré de son argument, alors il faut entrer la commande suivante:
+
signifie, pour Mathematica, que <math>f(x)=x^2</math>. Si le résultat espéré est la création d'une fonction qui développe le carré de son argument, alors c'est la commande
 
<pre>
 
<pre>
 
f[x_] := Expand[x^2]
 
f[x_] := Expand[x^2]
 
</pre>
 
</pre>
Une fois que vous avez demandé à Mathematica d'évaluer la commande, si vous entrez ensuite ''f[a + b]'', vous obtiendrez maintenant <m>\small a^2 + 2 a b + b^2</m>, et non <m>\small (a+b)^2</m>, comme c'était le cas avec la définition précédente.
+
qu'il vous faut entrer. Une fois que vous avez demandé à Mathematica d'évaluer la commande, si vous entrez ensuite ''f[a + b]'' dans une nouvelle ligne, vous obtiendrez maintenant <math>a^2 + 2 a b + b^2</math>, et non <math>(a+b)^2</math>, comme c'était le cas avec la définition précédente.
  
=== '''Dérivation et intégration''' ===
+
=== Dérivation et intégration ===
  
L'opération de dérivation partielle s'obtient avec la commande ''D'':
+
L'opération de dérivation partielle s'obtient avec la commande ''D''. Par exemple, si vous souhaitez calculer <math>\textstyle\frac{\partial}{\partial x}\sin(2x^2)</math>, vous n'avez qu'à entrer
 
<pre>
 
<pre>
D[2 x^2 + 4, x]
+
D[Sin[2 x^2], x]
 
</pre>
 
</pre>
donne <m>\small 4x</m>. En général, si vous souhaitez appliquer l'opérateur <m>\textstyle\frac{\partial^{m_1+m_2+\dots+m_n}}{\partial x_1^{m_1}\partial x_2^{m_2}\cdots\partial x_n^{m_n}}</m> à la fonction <m>\small f(x_1,\dots,x_n)</m>, vous devez écrire:
+
En général, si vous souhaitez calculer <math>\textstyle\frac{\partial^{m_1+m_2+\dots+m_n}}{\partial x_1^{m_1}\partial x_2^{m_2}\cdots\partial x_n^{m_n}}f(x_1,\dots,x_n)</math>, vous devez écrire:
 
<pre>
 
<pre>
 
D[f[x1, x2, ... , xn], {x1, m1}, {x2, m2}, ... , {xn, mn}]
 
D[f[x1, x2, ... , xn], {x1, m1}, {x2, m2}, ... , {xn, mn}]
 
</pre>
 
</pre>
Par exemple, si l'on souhaite calculer <m>\textstyle\frac{\partial^5}{\partial x^2\partial y^3}(x^2+y^2+x^2y^3z)</m>, il faut entrer
+
Par exemple, pour que Mathematica calcule <math>\textstyle\frac{\partial^5}{\partial x^2\partial y^3}(x^2+y^2+x^2y^3z)</math>, il suffit d'entrer
 
<pre>
 
<pre>
 
D[x^2 + y^2 + x^2 y^3 z, {x, 2}, {y, 3}]
 
D[x^2 + y^2 + x^2 y^3 z, {x, 2}, {y, 3}]
 
</pre>
 
</pre>
qui donne bien <m>\small 12z</m>.
+
Le résultat retourné est bien <math>12z</math>.
  
Similairement, la dérivation totale est obtenue avec ''Dt'':
+
Similairement, la dérivation totale est obtenue avec ''Dt''. Dans l'exemple qui suit, on cherche la dérivée totale de l'expression <math>xy(x)z(x)</math>:
 
<pre>
 
<pre>
Dt[x y z, x]
+
Dt[x y[x] z[x], x]
avec ''y z + x z Dt[y, x] + x y Dt[z, x]'' comme résultat.
 
 
</pre>
 
</pre>
 +
avec ''y[x] z[x] + x z[x] y'[x] + x y[x] z'[x]'' comme résultat.
  
L'intégration d'une fonction est donnée par la commande ''Integrate''. Par exemple, si vous souhaitez que Mathematica calcule <m>\small\textstyle\int_{x_{1_{min}}}^{x_{1_{max}}}\int_{x_{2_{min}}}^{x_{2_{max}}}\dotsi\int_{x_{n_{min}}}^{x_{n_{max}}}\mathrm{d}\mathbf{x}\,f(\mathbf{x})</m> pour vous, vous devez entrer:
+
L'intégration d'une fonction est donnée par la commande ''Integrate''. Par exemple, si vous souhaitez que Mathematica calcule <math>\textstyle\int_{a_1}^{b_1}\int_{a_2}^{b_2}\cdots\int_{a_n}^{b_n}\mathrm{d}^n\mathbf{x}\,f(x_1,\dots,x_n)</math> pour vous, entrez:
 
<pre>
 
<pre>
Integrate[f[x1, x2, ... , xn], {x1, x1min, x1max}, ... , {xn, xnmin, xnmax}]
+
Integrate[f[x1, x2, ... , xn], {x1, a1, b1}, ... , {xn, an, bn}]
 
</pre>
 
</pre>
Veuillez noter que Mathematica peut également compléter une intégrale indéfinie: pour ce faire, il suffit d'omettre les bornes d'intégration comme arguments de la commande. Vous pouvez aussi intégrer numériquement une expression avec la commande ''NIntegrate''.
+
Veuillez noter que Mathematica peut également calculer des intégrales indéfinies: pour ce faire, il suffit d'omettre les bornes d'intégration comme arguments de la commande. Vous pouvez aussi intégrer numériquement une expression avec la commande ''NIntegrate''.
  
=== '''Résolution d'équations''' ===
+
=== Résolution d'équations ===
  
 
Pour résoudre une équation algébrique, on emploie la commande ''Solve'':
 
Pour résoudre une équation algébrique, on emploie la commande ''Solve'':
Ligne 116 : Ligne 147 :
 
Solve[x^2 == 1, x]
 
Solve[x^2 == 1, x]
 
</pre>
 
</pre>
qui donne ''{{x -> -1}, {x -> 1}}''. Il est important d'employer "==" pour signifier une égalité dans une équation, le symbole "=" étant réservé par Mathematica pour les assignations de variables. Similairement, la commande ''NSolve'' tente de trouver une approximation numérique à la solution de l'équation, si celle-ci existe.
+
ce qui donne ''{{x -> -1}, {x -> 1}}'' pour l'exemple précédent. Il est important d'employer "==" pour signifier une égalité dans une équation, le symbole "=" étant une assignation pour Mathematica. Similairement, la commande ''NSolve'' tente de trouver une approximation numérique à la solution de l'équation, si celle-ci existe.
  
Il est également possible de résoudre une équation différentielle, avec la commande ''DSolve'', pour un traitement algbrique de la solution, et ''NDSolve'' pour l'obtention d'une réponse numérique.
+
Il est également possible de résoudre une équation différentielle avec la commande ''DSolve''. Lorsque cette commande est appelée par l'utilisateur, Mathematica tente de trouver une solution algébrique à l'équation différentielle. Pour les situations où une approximation numérique de la solution est préférable, il convient alors d'employer ''NDSolve''.
  
=== '''Algèbre linéaire''' ===
+
=== Algèbre linéaire ===
  
 
Pour Mathematica, vecteurs, matrices ou tenseurs, ne sont rien de plus que des listes d'éléments.
 
Pour Mathematica, vecteurs, matrices ou tenseurs, ne sont rien de plus que des listes d'éléments.
 
<pre>
 
<pre>
{a, b, c}.{c, b, a}
+
{1, 2, 3}.{3, 2, 1}
 
</pre>
 
</pre>
est l'équivalent de <m>\small\textstyle\left[\begin{matrix}1 & 2 & 3\end{matrix}\right]\cdot\left[\begin{matrix}3 \\ 2 \\ 1\end{matrix}\right]</m>. Similairement,
+
est l'équivalent de <math>\left(\begin{smallmatrix}1 & 2 & 3\end{smallmatrix}\right)\cdot\left(\begin{smallmatrix}3 \\ 2 \\ 1\end{smallmatrix}\right)=10</math>. Similairement,
 
<pre>
 
<pre>
 
{{1, 2}, {3, 4}, {5, 6}}.{{0, 1}, {1, 0}}
 
{{1, 2}, {3, 4}, {5, 6}}.{{0, 1}, {1, 0}}
 
</pre>
 
</pre>
est l'équivalent de <m>\small\textstyle\begin{pmatrix}1 & 2 \\ 3 & 4 \\ 5 & 6\end{pmatrix}\begin{pmatrix}0 & 1 \\ 1 & 0\end{pmatrix}=\begin{pmatrix}2 & 1 \\ 4 & 3 \\ 6 & 5\end{pmatrix}</m>.
+
est l'équivalent de <math>\left(\begin{smallmatrix}1 & 2 \\ 3 & 4 \\ 5 & 6\end{smallmatrix}\right)\left(\begin{smallmatrix}0 & 1 \\ 1 & 0\end{smallmatrix}\right)=\left(\begin{smallmatrix}2 & 1 \\ 4 & 3 \\ 6 & 5\end{smallmatrix}\right)</math>.
  
 
Le symbole ".", employé comme opérateur binaire dans Mathematica, sert à désigner le produit scalaire ou matriciel.
 
Le symbole ".", employé comme opérateur binaire dans Mathematica, sert à désigner le produit scalaire ou matriciel.
Ligne 142 : Ligne 173 :
 
La commande ''Eigensystem'' permet d'obtenir à la fois les valeurs propres d'une matrice ainsi que ses vecteurs associés. Par exemple, en entrant
 
La commande ''Eigensystem'' permet d'obtenir à la fois les valeurs propres d'une matrice ainsi que ses vecteurs associés. Par exemple, en entrant
 
<pre>
 
<pre>
Eigensystem[{{a, b}, {c, d}}]
+
Eigensystem[{{1, 2}, {1, 1}}]
 
</pre>
 
</pre>
Mathematica retourne <m>\small\textstyle\Biggl\{\Bigl\{\frac{1}{2}\left(a+d-\sqrt{a^2+4bc-2da+d^2}\right),\frac{1}{2}\left(a+d+\sqrt{a^2+4bc-2ad+d^2}\right)\Bigr\},\biggl\{\Bigl\{-\frac{d-a+\sqrt{a^2+4bc-2ad+d^2}}{2c},1\Bigr\},\Bigl\{-\frac{d-a-\sqrt{a^2+4bc-2ad+d^2}}{2c},1\Bigr\}\biggr\}\Biggr\}</m>. Les deux premiers éléments de la liste précédente sont les valeurs propres, et les deux derniers les vecteurs propres correspondant.
+
Mathematica retourne <math>\textstyle\biggl\{\bigl\{1+\sqrt{2},1-\sqrt{2}\bigr\},\Bigl\{\bigl\{\sqrt{2},1\bigr\},\bigl\{-\sqrt{2},1\bigr\}\Bigr\}\biggr\}</math>. Les deux premiers éléments de la liste précédente sont les valeurs propres, et les deux derniers les vecteurs propres correspondant.
  
 
Il est également possible d'obtenir uniquement les valeurs propres, avec ''Eigenvalues'', ou uniquement les vecteurs propres, avec ''Eigenvectors''.
 
Il est également possible d'obtenir uniquement les valeurs propres, avec ''Eigenvalues'', ou uniquement les vecteurs propres, avec ''Eigenvectors''.
  
=== '''Génération de graphiques''' ===
+
=== Génération de graphiques ===
  
 
Mathematica peut générer plusieurs types de graphiques pour vous:
 
Mathematica peut générer plusieurs types de graphiques pour vous:
  
* Plot: ...
+
* ''Plot'' - Pour tracer une fonction sur un certain domaine. Voici un exemple simple d'un graphique généré avec ''Plot'':
* ListPlot: ...
+
<pre>
* Plot3D: ...
+
Plot[{Sin[x], Sin[2 x], Sin[3 x]}, {x, 0, 2 Pi}]
* ContourPlot: ...
+
</pre>
* DensityPlot: ...
+
[[Image:Plot.png]]
 +
 
 +
* ''ListPlot'' - Pour afficher une liste de points. Par exemple:
 +
<pre>
 +
ListPlot[Table[{i, i^2}, {i, 0, 10}]]
 +
</pre>
 +
[[Image:ListPlot.png]]
 +
 
 +
où la commande ''Table'' est employée pour générer la liste <math>\bigl\{\{0,0\},\{1,1\},\{2,4\},\{3,9\},\{4,16\},\{5,25\},\{6,36\},\{7,49\},\{8,64\},\{9,81\},\{10,100\}\bigr\}</math> affichée sur la figure ci-haut.
 +
 
 +
* ''Plot3D'' - Pour générer un graphique tridimensionnel. Par exemple:
 +
<pre>
 +
Plot3D[Sqrt[1 - x^2 - y^2], {x, -1, 1}, {y, -1, 1}, Mesh->8, ColorFunction->Hue,
 +
MeshShading->{{Yellow, Orange}, {Pink, Red}}]
 +
</pre>
 +
[[Image:Plot3D.png]]
 +
 
 +
* ''DensityPlot'' - À l'instar de la commande ''Plot3D'', cette commande permet de tracer une fonction de deux variables. Par exemple:
 +
<pre>
 +
DensityPlot[Sin[x] Sin[y], {x, -4, 4}, {y, -3, 3}, ColorFunction->"SunsetColors"]
 +
</pre>
 +
[[Image:DensityPlot.png]]
  
 +
* ''ContourPlot'' - Cette commande trace, tout comme ''Plot3D'' et ''DensityPlot'', une fonction de deux variables. Par exemple:
 
<pre>
 
<pre>
Plot[{Sin[x], Sin[2 x], Sin[3 x]}, {x, 0, 2 Pi}]
+
ContourPlot[Cos[x] + Cos[y], {x, 0, 4 Pi}, {y, 0, 4 Pi}]
 
</pre>
 
</pre>
 +
[[Image:ContourPlot.png]]
 +
 +
L'affichage d'un graphique s'accompagne souvent d'une ou plusieurs options relatives au rendu de l'image. Pour connaître les options disponibles pour une commande donnée, n'oubliez pas de consulter le ''Documentation Center'' (aide) de Mathematica.
 +
 +
Pour enregistrer votre graphique en fichier, vous n'avez qu'à cliquer avec le bouton de droite de votre souris sur l'image en question et de cliquer ensuite sur ''Save Graphic As''. Une fois que vous avez choisi le nom ainsi que le format que vous désirez pour le fichier, cliquez sur ''Save'' pour conclure l'enregistrement.
  
[[Image:Plot.png]]
 
  
 
== Voir aussi ==
 
== Voir aussi ==
  
=== '''Articles connexes''' ===
+
=== Articles connexes ===
 +
<div class="inline">
 
* [[logiciels|Logiciels au DMS]]
 
* [[logiciels|Logiciels au DMS]]
 +
* [[Installation_de_Mathematica|Installation de Mathematica]]
 
* [[GNU_Octave|GNU Octave]]
 
* [[GNU_Octave|GNU Octave]]
 
* [[Magma|Magma]]
 
* [[Magma|Magma]]
 
* [[Maple|Maple]]
 
* [[Maple|Maple]]
* [[Matlab|Matlab]]
+
* [[MATLAB|MATLAB]]
 
* [[Maxima|Maxima]]
 
* [[Maxima|Maxima]]
 
* [[Pari/GP|Pari/GP]]
 
* [[Pari/GP|Pari/GP]]
 +
* [[Sage|Sage]]
 
* [[Scilab|Scilab]]
 
* [[Scilab|Scilab]]
* [[XPPAUT|XPPAUT]]
+
</div>
  
=== '''Liens externes''' ===
+
=== Liens externes ===
 +
<div class="inline">
 
* [http://www.wolfram.com/mathematica/ Site officiel de Mathematica]
 
* [http://www.wolfram.com/mathematica/ Site officiel de Mathematica]
 
* [http://fr.wikipedia.org/wiki/Mathematica Mathematica sur Wikipédia]
 
* [http://fr.wikipedia.org/wiki/Mathematica Mathematica sur Wikipédia]
 +
</div>

Version du 3 décembre 2020 à 21:47


Mathematica Logo.jpg

Mathematica est un logiciel propriétaire de calcul formel conçu par la société Wolfram Research.

Le système de Mathematica est formé d'un noyau, qui réalise les calculs et peut être exécuté sur une autre machine que celle de l'utilisateur, et d'une interface interactive pour entrer les données. Celle-ci attend des entrées de l'utilisateur exprimées dans le langage de Mathematica, selon une syntaxe définie, et affiche le résultat des calculs sous forme de texte simple, de formules, ou d'images.


Guide

Démarrer Mathematica

Pour démarrer le logiciel, vous pouvez soit entrer la commande

mathematica

dans un terminal (icône TerminalIcone.png), soit cliquer sur l'icône représentant le logo de Mathematica, situé dans la barre du haut.

Vous pouvez également démarrer Mathematica en mode ligne commandes, en entrant plutôt

math

dans un terminal de commandes.

Installation de Mathematica sur un ordinateur personnel

Mathematica est disponible pour les étudiants du DMS inscrits aux cours de mathématiques.

  • Connectez-vous au réseau sécurisé.
  • Visiter la page : http://ti.umontreal.ca/.
  • Entrez votre code d'accès TI comme User Name et votre UNIP comme Password.
  • Cochez J'accepte les termes de la directive puis cliquez sur Valider.
  • Depuis le menu déroulant, sélectionnez le logiciel à télécharger puis appuyez sur Valider.
  • Suivez la procédure de téléchargement et d'installation affichée à l'écran.
Attention.png

Pour obtenir la clé d'activation de Mathematica, utilisez votre adresse @dms.umontreal.ca ou @umontreal.ca.

Apprentissage de Mathematica

Si vous êtes un nouvel utilisateur de Mathematica, ou encore si vous souhaitez approfondir vos connaissances de ce logiciel, les liens suivants sauront vous aider :

Le centre documentation est également accessible depuis Mathematica, en cliquant sur le menu Help et ensuite Documentation Center, ou encore en appuyant sur la touche F1.

Programmation GPU

Les versions 8 et plus récentes de Mathematica offrent la possibilité de faire exécuter des commandes par le processeur de la carte graphique, aussi appelé GPU pour Graphical Processing Unit. L'avantage de cette technique réside dans l'architecture particulière des nouvelles générations de GPU qui sont conçus pour effectuer des calculs en parallèle. Les opérations vectorielles et matricielles en algèbre linéaire sont des exemples de calculs facilement parallélisables.

Mathematica propose deux outils pour la programmation GPU: CUDALink et OpenCLLink. Le premier emploie le langage CUDA pour les cartes NVIDIA, alors que le deuxième emploie OpenCL, un ensemble de fonctions standards permettant l'utilisation des GPUs de divers fabricants (NVIDIA, ATI, etc.). Au Département, les cartes graphiques des machines dans les laboratoires sont de marque NVIDIA: nous vous recommandons donc d'utiliser la première option, CUDALink.

Voici une liste de liens utiles:

Exemples

Dans ce qui suit, quelques exemples très simples vous sont proposés dans l'optique de vous familiariser avec les commandes de base de Mathematica.

Opérations arithmétiques et simplifications

Pour additionner (+), soustraire (-), diviser (/), multiplier (* ou espace) ou élever à une puissance (^), il suffit d'entrer les opérandes en les espaçant par le symbole approprié, comme si vous faisiez usage d'une calculatrice. De plus, la priorité des opérations est respectée par Mathematica; l'usage de parenthèses () est nécessaire par endroit.

Chaque fois que vous souhaitez faire évaluer une expression ou une commande par Mathematica, vous devez appuyer sur NumPad Enter, c'est-à-dire la touche Enter sur le pavé numérique, ou encore sur Shift+Enter, en vous assurant que le pointeur de votre souris se trouve bien dans la cellule à évaluer.

Il arrive fréquemment que la réponse fournit par Mathematica ne soit pas complètement simplifiée, ou encore que vous souhaitiez que Mathematica tente de simplifier une expression pour vous. Ceci est effectué par la commande FullSimplify. Par exemple,

FullSimplify[x^3 - 6*x^2 + 11*x - 6]

retourne .

À l'opposé, si vous souhaitez développer une expression, c'est la commande Expand qu'il faut employer:

Expand[(-3 + x) (-2 + x) (-1 + x)]

ce qui donne , le résultat attendu.

Assignation d'une variable

Pour assigner une valeur numérique, par exemple 3.14159 à une variable x, vous n'avez qu'à entrer

x = 3.14159

dans une nouvelle ligne. Veuillez noter que Mathematica possède une constante désignée pour , nommée Pi, qu'il est possible d'évaluer à une précision arbitrairement élevée. Par exemple, pour obtenir jusqu'à la 100e décimale:

N[Pi,100]

ce qui renvoie 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068. La commande N sert à approximer une constante exacte (comme , etc.) par un certain nombre de chiffres significatifs (100 dans l'exemple précédant, 6 par défaut).

Définition d'une fonction

Mathematica vous offre la possibilité de définir vos propres fonctions. Par exemple, pour définir , vous devez entrer

f[x_] = x^2

Si vous souhaitez plutôt définir une fonction mais sans l'évaluer immédiatement, vous devez utiliser l'opérateur ":=" plutôt que "=". Par exemple, l'expression

f[x_] = Expand[x^2]

signifie, pour Mathematica, que . Si le résultat espéré est la création d'une fonction qui développe le carré de son argument, alors c'est la commande

f[x_] := Expand[x^2]

qu'il vous faut entrer. Une fois que vous avez demandé à Mathematica d'évaluer la commande, si vous entrez ensuite f[a + b] dans une nouvelle ligne, vous obtiendrez maintenant , et non , comme c'était le cas avec la définition précédente.

Dérivation et intégration

L'opération de dérivation partielle s'obtient avec la commande D. Par exemple, si vous souhaitez calculer , vous n'avez qu'à entrer

D[Sin[2 x^2], x]

En général, si vous souhaitez calculer , vous devez écrire:

D[f[x1, x2, ... , xn], {x1, m1}, {x2, m2}, ... , {xn, mn}]

Par exemple, pour que Mathematica calcule , il suffit d'entrer

D[x^2 + y^2 + x^2 y^3 z, {x, 2}, {y, 3}]

Le résultat retourné est bien .

Similairement, la dérivation totale est obtenue avec Dt. Dans l'exemple qui suit, on cherche la dérivée totale de l'expression :

Dt[x y[x] z[x], x]

avec y[x] z[x] + x z[x] y'[x] + x y[x] z'[x] comme résultat.

L'intégration d'une fonction est donnée par la commande Integrate. Par exemple, si vous souhaitez que Mathematica calcule pour vous, entrez:

Integrate[f[x1, x2, ... , xn], {x1, a1, b1}, ... , {xn, an, bn}]

Veuillez noter que Mathematica peut également calculer des intégrales indéfinies: pour ce faire, il suffit d'omettre les bornes d'intégration comme arguments de la commande. Vous pouvez aussi intégrer numériquement une expression avec la commande NIntegrate.

Résolution d'équations

Pour résoudre une équation algébrique, on emploie la commande Solve:

Solve[x^2 == 1, x]

ce qui donne {{x -> -1}, {x -> 1}} pour l'exemple précédent. Il est important d'employer "==" pour signifier une égalité dans une équation, le symbole "=" étant une assignation pour Mathematica. Similairement, la commande NSolve tente de trouver une approximation numérique à la solution de l'équation, si celle-ci existe.

Il est également possible de résoudre une équation différentielle avec la commande DSolve. Lorsque cette commande est appelée par l'utilisateur, Mathematica tente de trouver une solution algébrique à l'équation différentielle. Pour les situations où une approximation numérique de la solution est préférable, il convient alors d'employer NDSolve.

Algèbre linéaire

Pour Mathematica, vecteurs, matrices ou tenseurs, ne sont rien de plus que des listes d'éléments.

{1, 2, 3}.{3, 2, 1}

est l'équivalent de . Similairement,

{{1, 2}, {3, 4}, {5, 6}}.{{0, 1}, {1, 0}}

est l'équivalent de .

Le symbole ".", employé comme opérateur binaire dans Mathematica, sert à désigner le produit scalaire ou matriciel.

Pour inverser ou transposer une matrice, on emploie les commandes Inverse et Transpose, respectivement. Pour élever une matrice carrée à une puissance réelle, il faut employer la commande MatrixPower:

MatrixPower[A, r]

A est une matrice carrée et r est un nombre réel.

La commande Eigensystem permet d'obtenir à la fois les valeurs propres d'une matrice ainsi que ses vecteurs associés. Par exemple, en entrant

Eigensystem[{{1, 2}, {1, 1}}]

Mathematica retourne . Les deux premiers éléments de la liste précédente sont les valeurs propres, et les deux derniers les vecteurs propres correspondant.

Il est également possible d'obtenir uniquement les valeurs propres, avec Eigenvalues, ou uniquement les vecteurs propres, avec Eigenvectors.

Génération de graphiques

Mathematica peut générer plusieurs types de graphiques pour vous:

  • Plot - Pour tracer une fonction sur un certain domaine. Voici un exemple simple d'un graphique généré avec Plot:
Plot[{Sin[x], Sin[2 x], Sin[3 x]}, {x, 0, 2 Pi}]

Plot.png

  • ListPlot - Pour afficher une liste de points. Par exemple:
ListPlot[Table[{i, i^2}, {i, 0, 10}]]

ListPlot.png

où la commande Table est employée pour générer la liste affichée sur la figure ci-haut.

  • Plot3D - Pour générer un graphique tridimensionnel. Par exemple:
Plot3D[Sqrt[1 - x^2 - y^2], {x, -1, 1}, {y, -1, 1}, Mesh->8, ColorFunction->Hue, 
MeshShading->{{Yellow, Orange}, {Pink, Red}}]

Plot3D.png

  • DensityPlot - À l'instar de la commande Plot3D, cette commande permet de tracer une fonction de deux variables. Par exemple:
DensityPlot[Sin[x] Sin[y], {x, -4, 4}, {y, -3, 3}, ColorFunction->"SunsetColors"]

DensityPlot.png

  • ContourPlot - Cette commande trace, tout comme Plot3D et DensityPlot, une fonction de deux variables. Par exemple:
ContourPlot[Cos[x] + Cos[y], {x, 0, 4 Pi}, {y, 0, 4 Pi}]

ContourPlot.png

L'affichage d'un graphique s'accompagne souvent d'une ou plusieurs options relatives au rendu de l'image. Pour connaître les options disponibles pour une commande donnée, n'oubliez pas de consulter le Documentation Center (aide) de Mathematica.

Pour enregistrer votre graphique en fichier, vous n'avez qu'à cliquer avec le bouton de droite de votre souris sur l'image en question et de cliquer ensuite sur Save Graphic As. Une fois que vous avez choisi le nom ainsi que le format que vous désirez pour le fichier, cliquez sur Save pour conclure l'enregistrement.


Voir aussi

Articles connexes

Liens externes


La dernière modification de cette page a été faite le 3 décembre 2020 à 21:47.