Mathematica

De WikiDMS
Aller à : navigation, rechercher
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 : https://logitheque.dgtic.umontreal.ca.
  • Entrez votre code d'accès DGTIC 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 @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 (-3 + x) (-2 + x) (-1 + x).

À 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 -6+11x-6x^2+x^3, 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 \pi, nommée Pi, qu'il est possible d'évaluer à une précision arbitrairement élevée. Par exemple, pour obtenir \pi jusqu'à la 100e décimale:

N[Pi,100]

ce qui renvoie 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068. La commande N sert à approximer une constante exacte (comme \pi, 1/3 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 f(x)=x^2, 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 f(x)=x^2. 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 a^2 + 2 a b + b^2, et non (a+b)^2, 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 \textstyle\frac{\partial}{\partial x}\sin(2x^2), vous n'avez qu'à entrer

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

En général, si vous souhaitez calculer \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), vous devez écrire:

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

Par exemple, pour que Mathematica calcule \textstyle\frac{\partial^5}{\partial x^2\partial y^3}(x^2+y^2+x^2y^3z), il suffit d'entrer

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

Le résultat retourné est bien 12z.

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

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 \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) 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 \left(\begin{smallmatrix}1 & 2 & 3\end{smallmatrix}\right)\cdot\left(\begin{smallmatrix}3 \\ 2 \\ 1\end{smallmatrix}\right)=10. Similairement,

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

est l'équivalent de \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).

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 \textstyle\biggl\{\bigl\{1+\sqrt{2},1-\sqrt{2}\bigr\},\Bigl\{\bigl\{\sqrt{2},1\bigr\},\bigl\{-\sqrt{2},1\bigr\}\Bigr\}\biggr\}. 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 \bigl\{\{0,0\},\{1,1\},\{2,4\},\{3,9\},\{4,16\},\{5,25\},\{6,36\},\{7,49\},\{8,64\},\{9,81\},\{10,100\}\bigr\} 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