2. Calculs élémentaires
Opérateurs et fonctions classiques.
Maxima utilise les opérateurs et fonctions classiques.
Le séparateur décimal est le point.
Les fractions d'entiers sont manipulées de manière symbolique. Pour avoir un résultat numérique, on peut soit indiquer un entier sous forme de nombre décimal, soit utiliser la fonction codice_1 ou codice_2 (pour les grands flottants, "big floating points"). La fonction codice_3 permet de factoriser les entiers.
(%i1) 1+1
(%o1) 2
(%i2) 1/3
(%o2) 1
 3
(%i3) 1/3.0
(%o3) 0.3333333333333333
(%o4) 0.3333333333333333
(%o5) 2²5²
On a donc :
(%o1) 0.9953222650189527
Les puissances de 10 se notent avec la lettre « e » en minuscule ou en capitale : 5,2·103 s'écrit codice_43 ou codice_44, 5,2·10-3 s'écrit codice_45 ou codice_46. On peut aussi utiliser le « d » minuscule ou capital. La lettre « b » en minuscule ou capitale s'utilise pour un nombre à double précision.
Constantes particulières.
On peut utiliser les constantes habituelles des mathématiques :
Par exemple :
(%i1) sin(%pi/4);
(%o1) 1/√2
(%o2) %i
Variables.
On peut définir des variables simplement sous la forme codice_55.
"NomVariable" est une chaîne de caractères commençant par une lettre ; Maxima est sensible à la casse, c'est-à-dire que les variables « a » et « A » sont deux variables différentes.
La commande codice_56 donne la liste des variables définies par l'utilisateur. La commande codice_57 supprime toutes ces variables-là.
La variable codice_58 contient le résultat de la "n"-ième entrée . La variable codice_59 contient le résultat du "n"-ième résultat . La variable codice_60 contient le dernier résultat, et la variable codice_61 (tiret de soulignement) contient la dernière expression entrée.
On peut également avoir accès au "n"-ième précédent résultat avec codice_62. Ainsi, codice_63 donne le dernier résultat, codice_64 donne l'avant-dernier…
Complexes.
Les nombres complexes sont entrés sous la forme codice_65.
z:1 + 2*%i
Les commandes codice_66 et codice_67 donnent respectivement la partie réelle et la partie imaginaire du nombre complexe. La conjugaison complexe s'obtient par codice_68.
Le module d'un nombre complexe s'obtient avec la commande codice_69 ; la commande codice_36 fonctionne aussi, mais codice_71 prend en compte un certain nombre de propriétés des fonctions complexes. L'argument complexe de "z" = "a" + "b"i s'obtient par
codice_72.
Les commandes codice_73 et codice_74 donnent respectivement les formes cartésienne et polaire du nombre.
Booléens.
Lorsque l’on assigne une valeur booléenne, on utilise codice_75 pour « vrai » et codice_76 pour « faux ».
L’opérateur "ou" est noté codice_77, "et" est noté codice_78, "non" est noté codice_79.
Un booléen peut être obtenu en comparant deux grandeurs. La comparaison se fait avec la fonction codice_80 :
(%i1) a:1 ; b:2 ;
(%o1) 1
(%o2) 2
(%o3) true
(%o4) false
(%o5) false
(%o6) <
Les opérateurs de comparaison sont les suivants :
La commande codice_89 indique l'opérateur qui s'applique pour que l'expression soit vraie.
La commande codice_90 renvoie le booléen vrai si l'expression entre parenthèses est la liste vide (vecteur vide, matrice vide) ou bien l'ensemble vide. L'expression codice_91 est vraie si A est une matrice.
Polynômes et fractions rationnelles.
Les polynômes et fractions rationnelles sont écrits de manière « intuitive ». La commande codice_3 fait leur factorisation :
%i1 factor((x^2-1)/(x^2 + x -6));
%o1 (x - 1) (x + 1)
 (x - 2) (x + 3)
À l'inverse, la commande codice_93 fait le développement d'une expression (la commande codice_94 fonctionne aussi mais est moins efficace dans le cas des polynômes et fonctions rationnelles). La commande codice_95 simplifie une fraction rationnelle :
%i1 ratsimp((x^2-1)/(x+1))
%o1 x - 1
Les commandes codice_96 et codice_97 simplifient et développent les polynômes de fonctions trigonométriques.
%i1 trigexpand(sin(2*x))
%o1 2 cos(x) sin(x)
Les commandes codice_98 et codice_99 donnent les degrés respectivement les plus élevés et les plus faibles de l'expression "a" en "x".
La commande codice_100 donne la forme du polynôme ou de la fraction rationnelle selon la méthode de horner.
La commande codice_101 effectue la dérivation en "x" du polynôme ou de la fonction rationnelle "a".
Pour avoir la valeur numérique de la fonction polynôme ou fraction rationnelle "a", pour "x" = "n", on utilise codice_102
%i1 f:(x^2-1)/(x^2 + x -6)
%o1 x² - 1
 x² + x - 6
%i2 subst(3, x, f);
%o2 4
 3
calcule bien ƒ(3).
Fonctions spécifiques aux polynômes.
Concernant spécifiquement les polynômes : codice_103 donne le coefficient du terme de degré "n" pour le polynôme "a" en "x".
%i1 a:3*x^3 + 2*x^2 - x + 6
%o1 3x³ + 2x² - x + 6
%i2 coeff(a, x, 2)
%o2 2
La commande codice_10 fait la division euclidienne des polynômes "a" et "b". La commende codice_11 indique le résultat entier de la division euclidienne, et codice_12 donne le reste.
La commande codice_107 donne le PGCD des polynômes "a" et "b".
Fonctions spécifiques aux fractions rationnelles.
Concernant spécifiquement les fractions rationnelles : les commandes codice_108 et codice_109 donnent le dénominateur, et codice_110, codice_111 et codice_112 donnent le numérateur.
Matrices.
Pour créer une matrice, on utilise :
où "ligne1", "ligne2", …, "lignem" sont "m" vecteurs ligne de même dimension "n" ; on obtient ainsi une matrice "m" × "n".
Les opérateurs habituels effectuent les opérations élément par élément. C'est le cas des addition codice_4 et soustraction codice_5, mais aussi de la division codice_7, de la fonction exponentielle codice_30 et des opérateurs de multiplication codice_6 et de puissance codice_8.
La multiplication de matrices (dite « non commutative ») se fait avec l'opérateur codice_126 (espace-point-espace), et l'élévation à la puissance matricielle se fait avec l'opérateur codice_127.
(%i1) M : matrix([a, b], [c, d]);
 ⎡a b⎤
(%o1) ⎢ ⎥
 ⎣c d⎦
(%i2) M*M
 ⎡a² b²⎤
(%o2) ⎢ ⎥
 ⎣c² d²⎦
(%i3) M . M
 ⎡bc+a² bd+ab⎤
(%o3) ⎢ ⎥
 ⎣cd+ac d²+bc⎦
(%i4) M^3
 ⎡a³ b³⎤
(%o4) ⎢ ⎥
 ⎣c³ d³⎦
(%i5) M^^3
 ⎡c(bd+ab)+a(bc+a²) d(bd+ab)+b(bc+a²)⎤
(%o5) ⎢ ⎥
 ⎣c(d²+bc)+a(cd+ac) d(d²+bc)+b(cd+ac)⎦
(%i6) M^^-1
 ⎡ d b ⎤
(%o6) ⎢ad-bc ad-bc⎥
 ⎢ c a ⎥
 ⎣ ad-bc ad-bc⎦
 ⎡1 0⎤
(%o7) ⎢ ⎥
 ⎣0 1⎦
L'expression 6 calcule la matrice inverse.
Voici quelques fonctions classiques :
L'extension codice_153 (chargée par la commande codice_154) donne accès aux fonctions suivantes :
Notez que l'extension codice_153 est chargée automatiquement si l'on utilise les fonctions codice_164 et codice_165.
Chaînes de caractères.
Une chaîne de caractère est un expression comprise entre des guillemets doubles codice_166. Si l'on veut faire figurer un guillemet « " » dans la chaîne, on utilise codice_167. Si l'on veut utiliser une barre de fraction inversée « \ », on la redouble codice_168.
Les commandes codice_169 et codice_170 font la concaténation des chaînes "a" et "b". La commande codice_171 transforme l'expression "a" en une chaîne de caractères.
Notes.
"Interface et premiers exemples" < ↑ > "…"

Introduction au logiciel Maxima/Interface et premiers exemples