Utilisation de Maxima
Mmento
I Feuille de calcul
; excute une commande en achant le rsultat.
Par exemple 1+2/3;
$ excute une commande sans acher le rsultat.
Par exemple a:2 $
% rappelle le dernier calcul eectu
? plot2d ache l'aide en ligne sur l'instruction
plot2d
example(expand) ache des exemples d'utilisation de
l'instruction expand
kill(all) rinitialise le systme
limite de la suite de terme gnral
n
X
1
k
!
ln n
k=1
IV Nombres rels
IV.1
fonctions usuelles
abs(x) valeur absolue de x
floor(x) partie entire de x
sqrt(x) racine carre de x
sin(x) , cos(x) , tan(x)
exp(x) , log(x) Attention : log dsigne la fonction
logarithme nprien
II Oprateurs
les quatre oprations usuelles + , - , * , /
oprateur lvation une puissance. x 3 est x3
oprateur # non gal (ou dirent de)
oprateurs de comparaison = , < , <= , > , >=
oprateur : d'aectation.
a:3 donne la valeur 3 la variable a.
oprateur := pour dnir une fonction.
oprateur = indique une quation dans Maxima.
oprateur ! factoriel d'un entier naturel,
par exemple 5! = 1 2 3 4 5 = 120.
oprateur . de multiplication de deux matrices.
III Constantes
%pi dsigne 3, 14159
%e dsigne e = exp(1) 2, 7183
%i est l'imaginaire pur de module 1, d'argument /2
true
valeur "vrai"
false valeur "faux"
inf dsigne +
minf dsigne
%gamma constante d'Euler-Mascheroni qui est la
V Arithmtique des entiers
Page 1/3
IV.2
valeurs approches
float(x) fournit une valeur dcimale approche de x
bfloat(x) donne une valeur approche de x en nota-
tion scientique
fpprec:20 xe la prcision de la valeur approche
donne par bfloat (20 chires achs au lieu de 16 par
dfaut)
IV.3
Soit a et b deux entiers. Soit n et p deux entiers naturels.
divide(a,b) division euclidienne de a par b.
Le rsultat est une liste dont le premier lment est le
quotient et le second lment le reste
divisors(a) ensemble des diviseurs positifs de a
divsum(a) somme des diviseurs positifs de a
mod(a,b) reste de la division de a par b
gcd(a,b) pgcd de a et b
load(functs) $ lcm(a,b) ppcm de a et b
primep(p) teste si p est premier
p:prev_prime(n) donne le nombre premier p qui
vient juste avant n, avec p < n
next_prime(n) donne le nombre premier qui vient
juste aprs n
factor(n) dcompose n en produit de facteurs premiers
ifactors(n) dcompose n en produit de facteurs
premiers en achant le rsultat sous forme
de
liste
binomial(n,p) est le cecient binomial
n
p
random(n) renvoie un entier naturel, choisi au hasard
entre 0 et n 1 lorsque n N
trigonomtrie
acos(0.2) donne la mesure en radian de l'angle
gomtrique ayant pour cosinus 0,2
trigexpand(a) dveloppe l'expression
trigonomtrique a en utilisant les formules d'addition de
cos et sin. Par exemple, trigexpand(cos(x+y))
renvoie cos x cos y sin x sin y
trigreduce(a) permet de linariser un polynme
trigonomtrique a. Par exemple,
3 sin x sin(3x)
trigreduce(sin(x) 3) renvoie
4
trigsimp(a) simplie l'expression trigonomtrique a
en utilisant la relation cos2 t+sin2 t = 1 et en remplaant
sin t
tan t par
cos t
http://andre.turbergue.free.fr/maxima/maxima_index.html
VI Nombres complexes
Soit z un nombre complexe.
%i
dsigne le complexe i
realpart(z)
partie relle de z
imagpart(z)
partie imaginaire de z
conjugate(z) conjugu de z
abs(z)
module de z
carg(z)
argument de z (dans ] , ])
rectform(z)
crit z sous forme algbrique
polarform(z)
crit z sous forme exponentielle
Utilisation de Maxima
Mmento
VII Calcul algbrique
Soit P et Q deux polynmes.
expand(P) dveloppe P
factor(P) factorise P
gfactor(P) factorise P dans l'ensemble C
divide(P,Q,x) calcule le quotient et le reste de la
divison de P par Q. Le rsultat est une liste dont le
premier lment est le quotient et le second lment le
reste
partfrac(P/Q,x) dcompose la fonction rationnelle
P/Q (de la variable x) en lments simples
ratsimp(expr) simplie l'expression expr
(en crivant tout sur le mme dnominateur)
subst(1/z,x,expr) remplace x par 1/z dans
l'expression expr
VIII Fonctions numriques
VIII.1
dnir une fonction
f(x):=x 2+2*x-3
define(f(x),x 2+2*x-3)
f:lambda([x],x 2+2*x-3)
VIII.2
limites, tangentes et asymptotes
limit(sin(x)/x,x,0) limite en 0
limit(1/x,x,0,plus) limite droite en 0
limit(1/x,x,0,minus) limite gauche en 0
limit(x*exp(x),x,minf) limite en
taylor(f(x),x,a,1) permet d'obtenir l'quation
rduite de la tangente Cf au point A(a, f (a))
taylor(sqrt(1+x 2),x,inf,2) permet d'obtenir
le
p
dveloppement asymptotique 2 termes de x 7 1 + x2
en +
VIII.3
Page 2/3
drivation
IX.3
diff(f(x),x) calcule la drive f 0 (x)
diff(f(x),x,2) calcule f 00 (x), drive seconde
quations direntielles
Pour rsoudre l'quation direntielle y 00 + w2 y = sin x,
on dnit d'abord l'quation :
eqn:'diff(y,x,2)+w 2*y=sin(x)
On la rsout :
VIII.4
sol:ode2(eqn,y,x)
courbes reprsentatives
Pour acher les courbes Cf et Cg sur le mme graphique,
dans la fentre [x1 , x2 ] [y1 , y2 ], on entre :
plot2d([f(x),g(x)],[x,x1,x2],[y,y1,y2])
VIII.5
intgrales
IX Equations
rsolution d'quations
Rsolution exacte dans l'ensemble C des complexes :
solve(x 2+x=1,x)
Rsolution approche dans R :
find_root(x 5=1+x,x,1,2)
solution dans [1, 2]
systmes linaires
Pour rsoudre le systme
Pour trouver la solution satisfaisant aux conditions
y(0) = 1 et y(1) = 0, on entre :
obtenue ci-dessus.
romberg(1/log(x),x,2,3) fournit une approximation
Z 3
1
dx
de l'intgrale
2 ln x
IX.2
ic2(sol,x=0,y=1,diff(y,x)=-1)
bc2(sol,x=0,y=1,x=1,y=0)
rhs(sol) saisit le membre de droite de l'galit sol
integrate(f(x),x) calcule une primitive de la fonction f
Z b
integrate(f(x),x,a,b) calcule l'intgrale
f (x) dx
IX.1
Pour trouver la solution satisfaisant aux conditions initiales y(0) = 1 et y 0 (0) = 1, on entre :
S1:[3*x+2*y=1,x-y=2]
solve(S1,[x,y])
3x + 2y = 1
xy =2
http://andre.turbergue.free.fr/maxima/maxima_index.html
X Listes
Une liste est un type de donnes, qui tient compte de
l'ordre, accepte les rptitions d'lments et est dlimite par les caractres [ et ]. Voici quelques fonctions
importantes concernant les listes :
L:makelist(k 2,k,0,9) permet de crer la liste des
carrs des 10 premiers naturels, k prenant toutes les
valeurs entires de 0 jusqu' 9.
L[2]:5 remplace le 2me lment de la liste L par 5.
length(L) donne le nombre d'lments de la liste L.
first(L) ; second(L) ; last(L) renvoient respectivement le premier, le second, le dernier lment de L.
member(x,L) vaut true si x appartient la liste L
(false sinon).
append([a,1,3],[2,7]) regroupe les deux listes en
une seule liste [a, 1, 3, 2, 7].
join(l,m) cre une nouvelle liste constitue des lments des listes l et m, intercals. La liste obtenue est
[l[1], m[1], l[2], m[2], l[3], m[3], . . .].
sort(L) permet de ranger les lments de la liste L
par ordre croissant.
map(f,L) permet d'appliquer la fonction f tous les
lments de la liste L.
XI Sommation et produit
Utilisation de Maxima
XII Programmation
XI.1
XII.1
Mmento
somme nie
sum(1/k 2,k,1,10) calcule la somme des inverses
des carrs des entiers compris entre 1 et 10.
XI.2
produit ni
product(sqrt(k),k,1,10) calcule le produit des
racines carres des entiers compris entre 1 et 10.
XI.3
On peut montrer que la suite (un )nN de terme gnral
+
n
X
X
1
1
est
convergente.
Sa
limite
est
note
.
un =
2
k
k2
k=1
nom(paramtres en entre) := block( [variables locales],
<instruction 1>, <instruction 2>, . . .
/* -Commentaire */
)$
Voici un exemple simple de procdure qui additionne
deux nombres.
somme(a,b):=block([c], c:a+b, return(c))
XII.2
somme innie
k=0
On peut demander sa valeur exacte comme suit :
load(simplify_sum) $ sum(1/k 2,k,1,inf) $
simplify_sum(%)
syntaxe d'une procdure
structure conditionnelle
if (condition)
then (<instruction1> , <instruction2>)
else (<instruction3> , <instruction4>)
XII.3
structures itratives
Boucle For et achage de la table de 7 :
for k from 1 thru 10 do
http://andre.turbergue.free.fr/maxima/maxima_index.html
Page 3/3
( print("7 fois",k,"gale",7*k) )
Boucle While et achage de la table de 7 :
k:1 $ while k<11 do
( print("7 fois",k,"gale",7*k) , k:k+1 )
XIII Matrices
Soit B une matrice de taille3 3.
1
On dnit la matrice A = 4
7
de la faon suivante :
2
5
8
3
6 ligne par ligne
9
A:matrix([1,2,3],[4,5,6],[7,8,9])
A+B somme des matrices A et B
3*A produit de la matrice A par le rel 3
A.B produit des matrices A et B
A 3 matrice A leve la puissance 3
invert(A) inverse A1 de la matrice A