Vous êtes sur la page 1sur 6

Calcul de la puissance nime dune matrice dordre 3 laide de Maple

Essaidi Ali
21 juin 2014
1 Outils Maple ncessaires :
Remarque :
Les commandes Maple quon va utiliser sont regroupes dans le package LinearAlgebra. Pour le charger on tape :
with(LinearAlgebra) ;
Pour dnir une matrice on utilise la commande Matrix.
Exemple :
> Matrix( [ [ 1, 0, 2], [ 2, 1, 1 ] ] ) ;
_
1 0 2
2 1 1
_
Ou encore :
> Matrix( 2, 3, [ 1, 0, 2, 2, 1, 1 ] ) ;
_
1 0 2
2 1 1
_
La commande MatrixMatrixMultiply( A, B ) retourne le produit des deux matrices donnes A et B.
Exemple :
> A := Matrix( [ [ 1, 1 ], [ 1, 1 ] ] ), B := Matrix( [ [ 2, 2 ], [ 2, 2 ] ] ) ;
A :=
_
1 1
1 1
_
, B :=
_
2 2
2 2
_
> MatrixMatrixMultiply( A, B ) ;
_
4 4
4 4
_
La commande MatrixInverse( A ) retourne linverse dune matrice donne A si A est inversible.
Exemple :
> A := Matrix( [ [ 1, -1], [ 1, 1 ] ] ) ;
A :=
_
1 1
1 1
_
> MatrixInverse( A ) ;
_

_
1
2
1
2

1
2
1
2
_

_
La commande JordanForm permet de diagonaliser une matrice (retourner une matrice diagonale semblable) si elle lest dans
C, sinon elle la trigonalise (retourner une matrice triangulaire supprieure). Pour avoir la matrice de passage (La matrice des
vecteurs propres) on ajoute loption output=Q.
Exemples :
> M := Matrix( [ [ -9 , -2 , 8 ] , [ 8 , 5 , -4 ] , [ -14 , -2 , 13 ] ] ) ;
M :=
_
_
9 2 8
8 5 4
14 2 13
_
_
1
MP https ://www.facebook.com/mathlaayoune Essaidi Ali
> JordanForm(M) ;
_
_
1 0 0
0 3 0
0 0 5
_
_
Le rsultat montre que la matrice est diagonalisable, ses valeurs propres sont 1, 3 et 5. Pour avoir la matrice des vecteurs propres
on tape :
> JordanForm( M, output = Q) ;
_
_
5 3 1
5 6 1
5 3 2
_
_
> N := Matrix( [ [ 1 , 0 , -1 ] , [ -1 , 1 , -1 ] , [ 0 , 0 , 1 ] ] ) ;
N :=
_
_
1 0 1
1 1 1
0 0 1
_
_
> JordanForm(N) ;
_
_
1 1 0
0 1 1
0 0 1
_
_
Le rsultat montre que la matrice est trigonalisable, elle admet 1 comme seule valeur propre. Pour avoir la matrice de passage
on tape :
> JordanForm( N, output = Q) ;
_
_
0 1 1
1 0 0
0 0 1
_
_
Pour crer une matrice diagonale, on utilise la commande DiagonalMatrix :
Exemple :
> DiagonalMatrix(1,2,3) ;
_
_
1 0 0
0 2 0
0 0 3
_
_
Enn, pour appliquer une fonction f aux coefcients dune matrice on utilise la commande Map :
Exemple :
> A := Matrix( [ [ 1, 2 ], [ 3, 4 ] ] ) ;
A :=
_
1 2
3 4
_
> f := x -> x^2 ;
f := x x
2
> Map( f, A ) ;
A :=
_
1 4
9 16
_
2 Cas dune matrice diagonalisable :
Pour calculer la puissance nime dune matrice diagonalisable A on suit les tapes suivantes :
Etape 01 : On dnit dabord la matrice A laide de la commande Matrix.
Etape 02 : On la diagonalise laide de la commande JordanForm. On obtient alors une matrice diagonale D et une matrice
inversible P telles que A = PDP
1
.
Etape 03 : On calcul la puissance nime de la matrice D en appliquant la fonction f(x) = x
n
ses coefcients laide de
la commande Map.
Etape 04 : On calcul A
n
= PD
n
P
1
laide des commandes MatrixMatrixMultiply et MatrixInverse.
www.mathlaayoune.webs.com 2/6 mathlaayoune@gmail.com
MP https ://www.facebook.com/mathlaayoune Essaidi Ali
Exemples :
Exemple 01 : Calcul de la puissance nime de la matrice A =
_
_
3 1 1
2 0 1
2 2 3
_
_
:
> restart ; with(LinearAlgebra) :
> A := Matrix(3, 3, [[3, -1, -1], [2, 0, -1], [-2, 2, 3]]) ;
A :=
_
_
3 1 1
2 0 1
2 2 3
_
_
> Delta := JordanForm(A) ;
:=
_
_
1 0 0
0 2 0
0 0 3
_
_
> P := JordanForm(A, output = Q) ;
P :=
_

_
0 1
1
2

1
2
1
1
2
1
2
0
1
2
_

_
> Dn := Map( x -> x^n, U) ;
Dn :=
_
_
1 0 0
0 2
n
0
0 0 3
n
_
_
> An := MatrixMatrixMultiply(MatrixMatrixMultiply(P, Dn), MatrixInverse(P)) ;
An :=
_
_
3
n
2
n
3
n
2
n
3
n
1 + 3
n
1 + 2
n
3
n
2
n
3
n
1 3
n
1 + 3
n
3
n
_
_
Exemple 02 : Calcul de la puissance nime de la matrice B =
_
_
3 1 1
1 3 1
1 1 3
_
_
:
> restart ; with(LinearAlgebra) :
> B := Matrix(3, 3, [[3, 1, 1], [1, 3, 1], [1, 1, 3]]) ;
B :=
_
_
3 1 1
1 3 1
1 1 3
_
_
> Delta := JordanForm(B) ;
:=
_
_
2 0 0
0 5 0
0 0 2
_
_
> P := JordanForm(B, output = Q) ;
P :=
_

1
3
1
3
1

1
3
1
3
0
2
3
1
3
1
_

_
> Dn := Map( x -> x^n, U) ;
www.mathlaayoune.webs.com 3/6 mathlaayoune@gmail.com
MP https ://www.facebook.com/mathlaayoune Essaidi Ali
Dn :=
_
_
2
n
0 0
0 5
n
0
0 0 2
n
_
_
> Bn := MatrixMatrixMultiply(MatrixMatrixMultiply(P, Dn), MatrixInverse(P)) ;
An :=
_

_
2
3
2
n
+
1
3
5
n

1
3
2
n
+
1
3
5
n

1
3
2
n
+
1
3
5
n

1
3
2
n
+
1
3
5
n
2
3
2
n
+
1
3
5
n

1
3
2
n
+
1
3
5
n

1
3
2
n
+
1
3
5
n

1
3
2
n
+
1
3
5
n
2
3
2
n
+
1
3
5
n
_

_
3 Cas dune matrice trigonalisable :
Pour calculer la puissance nime dune matrice trigonalisable A dordre 3 on suit les tapes suivantes :
Etape 01 : On dnit dabord la matrice A laide de la commande Matrix.
Etape 02 : On la trigonalise laide de la commande JordanForm. On obtient alors une matrice triangulaire suprieure T
et une matrice inversible P telles que A = PTP
1
.
Etape 03 : On construit la matrice diagonale D = diag(t
11
, t
22
, t
33
) laide de la commande DiagonalMatrix.
Etape 04 : On calcul la puissance nime de la matrice D en appliquant la fonction f(x) = x
n
ses coefcients laide de
la commande Map.
Etape 05 : On construit la matrice nilpotente N = T D. On remarque quon a toujours N
3
= 0.
Etape 05 : On calcul la puissance nime de T : T
n
= D
n
+ nD
n1
N +
n(n 1)
2
D
n2
N
2
laide de la commande
MatrixMatrixMultiply.
Etape 06 : On calcul A
n
= PT
n
P
1
laide des commandes MatrixMatrixMultiply et MatrixInverse.
Exemples :
Exemple 01 : Calcul de la puissance nime de la matrice A =
_
_
2 1 2
1 2 2
1 1 1
_
_
:
> restart ; with(LinearAlgebra) :
> A := Matrix(3, 3, [[2, -1, 2], [-1, 2, -2], [-1, 1, -1]]) ;
A :=
_
_
2 1 2
1 2 2
1 1 1
_
_
> U := JordanForm(A) ;
U :=
_
_
1 1 0
0 1 0
0 0 1
_
_
> P := JordanForm(A, output = Q) ;
P :=
_
_
1 1 2
1 0 0
1 1 1
_
_
> Delta := DiagonalMatrix([seq(U[k, k], k = 1 .. 3)]) ;
:=
_
_
1 0 0
0 1 0
0 0 1
_
_
> N :=U-Delta ;
N :=
_
_
0 1 0
0 0 0
0 0 0
_
_
> f := k -> Map(x -> x^k , Delta) ;
www.mathlaayoune.webs.com 4/6 mathlaayoune@gmail.com
MP https ://www.facebook.com/mathlaayoune Essaidi Ali
f := k LinearAlgebra :-Map(x x^k, Delta)
> Tn := f(n)+n*MatrixMatrixMultiply(f(n-1), N)+(n*(n-1)/2)*MatrixMatrixMultiply(f(n-2), N^2) ;
Tn :=
_
_
1 n 0
0 1 0
0 0 1
_
_
> An := MatrixMatrixMultiply(MatrixMatrixMultiply(P, Tn), MatrixInverse(P)) ;
An :=
_
_
1 +n n 2n
n 1 +n 2n
n n 1 2n
_
_
Exemple 02 : Calcul de la puissance nime de la matrice B =
_
_
3 3 1
2 2 1
0 1 2
_
_
:
> restart ; with(LinearAlgebra) :
> B := Matrix(3, 3, [[-3, 3, -1], [-2, 2, -1], [0, 1, -2]]) ;
B :=
_
_
3 3 1
2 2 1
0 1 2
_
_
> U := JordanForm(B) ;
U :=
_
_
1 1 0
0 1 1
0 0 1
_
_
> P := JordanForm(B, output = Q) ;
P :=
_
_
2 2 1
2 2 0
2 0 0
_
_
> Delta := DiagonalMatrix([seq(U[k, k], k = 1 .. 3)]) ;
:=
_
_
1 0 0
0 1 0
0 0 1
_
_
> N :=U-Delta ;
N :=
_
_
0 1 0
0 0 1
0 0 0
_
_
> f := k -> Map(x -> x^k , Delta) ;
f := k LinearAlgebra :-Map(x x^k, Delta)
> Tn := f(n)+n*MatrixMatrixMultiply(f(n-1), N)+(n*(n-1)/2)*MatrixMatrixMultiply(f(n-2), N^2) ;
Tn :=
_

_
(1)
n
n(1)
(n1)
1
2
n(n 1)(1)
(n2)
0 (1)
n
n(1)
(n1)
0 0 (1)
n
_

_
> Bn := MatrixMatrixMultiply(MatrixMatrixMultiply(P, Tn), MatrixInverse(P)) ;
Bn :=
_

_
n(n 1)(1)
(n2)
2n(1)
(n1)
+ (1)
n
3n(1)
(n1)
+n(n 1)(1)
(n2)
n(1)
(n1)
n(n 1)(1)
(n2)
2n(1)
(n1)
3n(1)
(n1)
+ (1)
n
+n(n 1)(1)
(n2)
n(1)
(n1)
n(n 1)(1)
(n2)
n(1)
(n1)
+n(n 1)(1)
(n2)
(1)
n
n(1)
(n1)
_

_
www.mathlaayoune.webs.com 5/6 mathlaayoune@gmail.com
MP https ://www.facebook.com/mathlaayoune Essaidi Ali
> map(simplify, Bn) ;
_

_
(1)
n
(n
2
3n 1) n(4(1)
(1+n)
+n(1)
n
) n(1)
n
n(1)
n
(n 3) 4(1)
(1+n)
n + (1)
n
+n
2
(1)
n
n(1)
n
n(n 1)(1)
n
n(1)
n
(n 2) (1)
n
(1 +n)
_

_
www.mathlaayoune.webs.com 6/6 mathlaayoune@gmail.com