Différences entre les versions de « Mathematica »
(111 versions intermédiaires par 8 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Catégorie:Logiciels]] | [[Catégorie:Logiciels]] | ||
− | [[Image:Mathematica_Logo.jpg|thumb | + | [[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]. |
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 11 : | Ligne 12 : | ||
== Guide == | == Guide == | ||
− | === | + | === 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 | + | 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. | |
− | * [http:// | + | * Connectez-vous au [[Réseau_sécurisé|'''réseau sécurisé''']]. |
− | * [http://reference.wolfram.com/mathematica/guide/Mathematica.html ''Documentation Center'' - Centre complet de documentation sur Mathematica | + | * Visiter la page : http://logitheque.dgtic.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 === | ||
+ | |||
+ | 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 : | ||
+ | |||
+ | * [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] | ||
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 33 : | 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 === |
− | 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 | + | 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 | + | 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 < | + | 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 49 : | Ligne 83 : | ||
Expand[(-3 + x) (-2 + x) (-1 + x)] | Expand[(-3 + x) (-2 + x) (-1 + x)] | ||
</pre> | </pre> | ||
− | ce qui donne < | + | ce qui donne <math>-6+11x-6x^2+x^3</math>, 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 | Pour assigner une valeur numérique, par exemple 3.14159 à une variable ''x'', vous n'avez qu'à entrer | ||
Ligne 57 : | 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 < | + | 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 < | + | 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). |
− | === | + | === Définition d'une fonction === |
− | + | 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 | + | 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> | ||
− | + | 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 < | + | 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 === |
− | 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 | + | D[Sin[2 x^2], x] |
</pre> | </pre> | ||
− | + | 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, | + | 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> | ||
− | + | 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 | + | Dt[x y[x] z[x], x] |
− | |||
</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 < | + | 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, | + | Integrate[f[x1, x2, ... , xn], {x1, a1, b1}, ... , {xn, an, bn}] |
</pre> | </pre> | ||
− | Veuillez noter que Mathematica peut également | + | 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'': | Pour résoudre une équation algébrique, on emploie la commande ''Solve'': | ||
Ligne 113 : | 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 | + | 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 | + | 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. | Pour Mathematica, vecteurs, matrices ou tenseurs, ne sont rien de plus que des listes d'éléments. | ||
<pre> | <pre> | ||
− | { | + | {1, 2, 3}.{3, 2, 1} |
</pre> | </pre> | ||
− | est l'équivalent de < | + | 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 < | + | 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 139 : | 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[{{ | + | Eigensystem[{{1, 2}, {1, 1}}] |
</pre> | </pre> | ||
− | Mathematica retourne < | + | 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 === |
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'': |
<pre> | <pre> | ||
Plot[{Sin[x], Sin[2 x], Sin[3 x]}, {x, 0, 2 Pi}] | Plot[{Sin[x], Sin[2 x], Sin[3 x]}, {x, 0, 2 Pi}] | ||
Ligne 155 : | Ligne 189 : | ||
[[Image:Plot.png]] | [[Image:Plot.png]] | ||
− | * ListPlot | + | * ''ListPlot'' - Pour afficher une liste de points. Par exemple: |
<pre> | <pre> | ||
ListPlot[Table[{i, i^2}, {i, 0, 10}]] | ListPlot[Table[{i, i^2}, {i, 0, 10}]] | ||
</pre> | </pre> | ||
[[Image:ListPlot.png]] | [[Image:ListPlot.png]] | ||
− | |||
− | * Plot3D: ... | + | 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. |
− | * ContourPlot: | + | |
− | + | * ''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> | ||
+ | ContourPlot[Cos[x] + Cos[y], {x, 0, 4 Pi}, {y, 0, 4 Pi}] | ||
+ | </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. | ||
== Voir aussi == | == Voir aussi == | ||
− | === | + | === 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]] |
* [[Maxima|Maxima]] | * [[Maxima|Maxima]] | ||
* [[Pari/GP|Pari/GP]] | * [[Pari/GP|Pari/GP]] | ||
+ | * [[Sage|Sage]] | ||
* [[Scilab|Scilab]] | * [[Scilab|Scilab]] | ||
− | + | </div> | |
− | === | + | === 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 actuelle datée du 29 septembre 2022 à 08:51
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 ), 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://logitheque.dgtic.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.
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 :
- Wolfram Mathematica Tutorial Collection, Core Language - Pour apprendre à utiliser le langage Mathematica
- Documentation Center - Centre complet de documentation sur Mathematica
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:
- CUDALink User Guide - Guide de l'utilisateur CUDALink
- OpenCLLink User Guide - Guide de l'utilisateur OpenCLLink
- Exemple maison portant sur la multiplication de deux matrices avec CUDALink
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]
où 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}]
- ListPlot - Pour afficher une liste de points. Par exemple:
ListPlot[Table[{i, i^2}, {i, 0, 10}]]
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}}]
- 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"]
- 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}]
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.