Vous êtes sur la page 1sur 13

Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5

Department of Mathematics 1442/1443(2020/2021)


Faculté des Sciences Prof. Naji Yebari


CHAPITRE # 1 
Opérations matricielles 


objectifs du chapitre: Après avoir étudié ce chapitre vous devriez


- être familiarisé avec le calcul matriciel.
- être capable de calculer le nombre d’opérations arithmétiques (+,*,/).
- être capable de manipuler des matrices à l’aide des outils Matlab .

Contents
1 Matrices 2
1.1 Somme d’une matrice . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Multiplication par une Constante . . . . . . . . . . . . . . . . 2
1.3 Multiplication de deux matrices . . . . . . . . . . . . . . . . . 2
1.4 Multiplication par un Vecteur . . . . . . . . . . . . . . . . . . 3
1.5 la matrice nulle . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 La Matrix Idenditée I . . . . . . . . . . . . . . . . . . . . . . . 3
1.7 La Matrice Inverse . . . . . . . . . . . . . . . . . . . . . . . . 4
1.8 Matrices dans Matlab . . . . . . . . . . . . . . . . . . . . . . . 4

2 Complexité des algorithmes matriciels 10


2.1 Flop counts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Vecteur-opérations des vecteurs . . . . . . . . . . . . . . . . . 11
2.3 Produit matrice-vecteur . . . . . . . . . . . . . . . . . . . . . 11
2.4 Produit matrice-matrice . . . . . . . . . . . . . . . . . . . . . 11

3 Problèmes 12

4 References: 13

1
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

1 Matrices
Les matrices sont des tableaux rectangulaires de nombres réels ou complexes.
Avec eux, nous définissons des opérations arithmétiques qui sont des général-
isations de celles des nombres complexes. La forme générale d’une matrice
d’ordre m × n et  
a1,1 · · · a1,n
 . ... .. 
A=  .. . 
am,1 · · · am,n
Nous disons qu’elle a l’ordre m×n. La matrice constituée d’une seule colonne
est appelée un vecteur colonne, et celle constituée d’une seule ligne est appelée
un vecteur ligne. Dans les deux cas, ils auront des propriétés identiques à
la notion de vecteurs rencontrés soit en géométrie soit dans le calcul des
fonctions à plusieurs variables. Je pense que la plupart d’entre vous ont déjà
vu ces notions dans le cours d’algèbre linéaire ou quelque chose similaire.

1.1 Somme d’une matrice


Soit A = (ai,j ) et B = (bi,j ) deux matrices d’ordre m × n. Alors la matrice
somme
C =A+B
est une autre matrice d’ordre m × n, avec

ci,j = ai,j + bi,j

1.2 Multiplication par une Constante


   
a1,1 · · · a1,n ca1,1 · · · ca1,n
 . .. .   .. .. .. 
cA = c 
 .
. . .
. =
  . . . 
am,1 · · · am,n cam,1 · · · cam,n

1.3 Multiplication de deux matrices


Soit A = (ai,j ) et B = (bi,j ) deux matrices d’ordre m × n et n × p respective-
ment. La matrice produit
C =A×B

2
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

est une autre matrice d’ordre m × p, avec



n
ci,j = ai,k bk,j = ai,1 b1,j + ai,2 b2,j + . . . + ai,n bn,j
k=1

1.4 Multiplication par un Vecteur


Soit A = (ai,j ) une matrice d’ordre m × n et x = (x1 , . . . , xn ) est un vecteur
réel ou complexe de dimension n . Alors le produit matrice-vecteur est
 ∑n 
j=1 a1,j xj
 .. 
b = Ax = 
 . 

∑n
j=1 am,j xj

1.5 la matrice nulle


On définit la matrice nulle d’ordre n × n toute matrice de cet ordre ayant
tous ces éléments nuls. Parfois on l’écrit comme 0m×n , mais d’une façon
convenable et simple par 0. Alors pour toute matrice A d’ordre n × n,
A+0=0+A=A
La matrice nulle 0m×n joue le même rôle que le nombre zéro en arithmétique
avec les nombres réels et complexes.

1.6 La Matrix Idenditée I


Pour un entier naturel n ≥ 1, On définit In une matrice d’ordre n × n avec
1′ s dans toute la diagonale et des zéros ailleurs:
 
1 0 ··· 0
 . . .. 
 0 1 . . 
 
In =  .. 
 ... ... 
 . 0 
0 ··· 0 1
Soit A est une matrice d’ordre m × n. Alors
AIn = A, Im A = A
La matrice identité I agit avec le même rôle que le nombre 1 en arithmétique
avec les nombres réels et complexes.

3
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

1.7 La Matrice Inverse


Soit A une matrice d’ordre n × n pour un certain n ≥ 1. On dit que la
matrice B est l’inverse de A si

AB = BA = I

On peut montrer que s’il existe un inverse pour A, alors il est unique.

Theorem 1.

Rappelons le théorème antérieur sur la résolution des systèmes


linéaires Ax = b avec A une matrice carrée.Les assertions suivantes
sont équivalentes.

1. Pour chaque b, il existe une seule solution x.

2. Pour chaque b, il existe une solution x.

3. Le système homogène Ax = 0 admet seulement la solution


x = 0.

4. det(A) ̸= 0.

5. La matrice inverse A−1 existe.

Proof. Voir le cours d’Algèbre linéaire.

1.8 Matrices dans Matlab


Comment saisir une matrice dans Matlab:

>>A=[1 2 3 0;5 -1 0 0;3 -2 5 0]


A =
1 2 3 0
5 -1 0 0
3 -2 5 0

4
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

La commande taille dans Matlab pour déterminer les dimensions de n’importe


quelle matrice

>> size(A)
ans =
3 4

Cela représente 3 lignes et 4 colonnes.


Pour accéder à l’élément de la ligne 2 et de la colonne 3 de la matrice A,
entrez cette commande.

>> A(2,3)
ans =
0

Accès à une ligne entière avec l’opérateur deux-points de Matlab. La


commande A(2, :) essentiellement signifie "ligne 2 pour chaque colonne" de la
matrice A.

>> A(2,:)
ans =
5 -1 0 0

La notation A(:, 2) est prononcé "chaque ligne colonne 2" de la matrice


A.

>> A(:,2)
ans =
2
-1
-2

5
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

Vous pouvez également extraire une sous-matrice de la matrice A avec


indexation. Supposer, par exemple, que vous souhaitez extraire une sous-
matrice en utilisant les lignes 1 et 3 et les colonnes 2 et 4.

>> A([1,3],[2,4])
ans =
2 0
-2 0

Vous pouvez attribuer une nouvelle valeur à une entrée de la matrice A.

>> A(3,4)=12
A =
1 2 3 0
5 -1 0 0
3 -2 5 12

Attribuer un nouveau contenu à la première ligne de la matrice A

>> A(1,:)=20:23
A =
20 21 22 23
5 -1 0 0
3 -2 5 12

Attribuez à chaque entrée de la sous-matrice sur la gauche. Par exemple,


pour que chaque entrée de la colonne 2 de la matrice A soit égale à 11

>> A(:,2)=11
A =
20 11 22 23
5 11 0 0

6
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

3 11 5 12

Attribuez une valeur à une entrée dont l’index de ligne ou de colonne est
plus grand que la dimension correspondante de la matrice.

>> A(5,5)=777
A =
20 11 22 23 0
5 11 0 0 0
3 11 5 12 0
0 0 0 0 0
0 0 0 0 777

La trasposée d’une matrice A en utilisant matlab est A′

>> A=rand(4,4) % rand génère une matrice aléatoire uniforme


A =
0.2769 0.6948 0.4387 0.1869
0.0462 0.3171 0.3816 0.4898
0.0971 0.9502 0.7655 0.4456
0.8235 0.0344 0.7952 0.6463

>> B=A’
B =
0.2769 0.0462 0.0971 0.8235
0.6948 0.3171 0.9502 0.0344
0.4387 0.3816 0.7655 0.7952
0.1869 0.4898 0.4456 0.6463

Multiplication Matrice-Matrice

7
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

>> A = randi([0,10],4,4) % randi génère une matrice aléatoire d’entiers


A =
4 4 3 1
3 4 8 1
0 6 7 0
7 0 1 4

>> B = randi([0,10],4,4)
B =
7 6 1 3
7 1 1 2
5 1 2 2
1 1 3 9

>> C=A*B
C =
72 32 17 35
90 31 26 42
77 13 20 26
58 47 21 59

>> D=B*A
D =
67 58 79 25
45 38 38 16
37 36 39 14
70 26 41 38

8
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

Somme et différence entre les matrices

>> H=A+B
H =
11 10 4 4
10 5 9 3
5 7 9 2
8 1 4 13

>> H=A-B
H =
-3 -2 2 -2
-4 3 7 -1
-5 5 5 -2
6 -1 -2 -5

Multiplication Matrice-Vecteur

>> b=[1;2;3;4];
>> x=A*b
x =
25
39
33
26

Inverse d’une matrice

9
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

>> A = randi([0,10],4,4)
A =
7 0 3 1
6 10 1 2
2 7 6 4
2 6 10 0

>> D=inv(A)
D =
0.1241 0.0427 -0.0524 -0.0101
-0.0870 0.0999 -0.0282 0.0330
0.0274 -0.0685 0.0274 0.0822
0.0492 -0.0935 0.2844 -0.1761

2 Complexité des algorithmes matriciels


2.1 Flop counts
Opération en virgule flottante (flop)

• une addition, soustraction, multiplication ou division en virgule flot-


tante

• autre commande de définition : une multiplication suivie d’une addition

Nombre d’opérations de l’algorithme matriciel

• le nombre total d’opérations est généralement un polynôme ayant la


dimension du problème

• généralement simplifié en ignorant l’ordre inférieur

Applications

• une simple machine indépendante mesure la complexité de l’algorithme

10
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

• pas un prédicteur précis du temps de calcul sur les ordinateurs mod-


ernes

2.2 Vecteur-opérations des vecteurs


Produit scalaire de n-vecteurs

xT y = x1 y1 + x2 y2 + . . . + xn yn

• n multiplications et n − 1 additions = 2n − 1 opérations (2n si n >> 1)

• addition ou soustraction de n-vecteurs:n opérations

• multiplication scalaire de n-vecteurs:n opérations

2.3 Produit matrice-vecteur


produit matrice-vecteur avec A une matrice m × n:

y = Ax

m éléments dans y; chaque élément nécessite un produit scalaire de taille n:


(2n − 1)m opérations. approximativement 2mn pour n assez large
cas spécial

• m = n, A diagonale: n opérations

• m = n, A triangulaire inférieure: n(n + 1) opérations

• A très creuse (beaucoup de coefficients nuls): ♯ opérations << 2mn

2.4 Produit matrice-matrice


Le produit de la matrice A d’ordre m × n avec la matrice B d’ordre n × p:

C = AB

mp éléments dans C; chaque élément exige un produit scalaire de taille n:


mp(2n − 1) opérations approximativement 2mnp pour n assez large

11
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

3 Problèmes
Problem 1. Soit A, B ∈ IR5×5 et b ∈ IR5

1. Générer A et B en utilisant la fonction matlab randi ([0,6],5;5);

2. Générer b en utilisant la fonction matlab randi([0,10],5,1);

3. Calculer l’inverse de A et B

Problem 2. Soit A, B ∈ IR5×5 et b ∈ IR5

1. Générer A et B en utilisant la fonction matlab randi([0,6],5,5);

2. Générer b en utilisant la fonction matlab randi([0,10],5,1);

3. Calculer ABb and BAb

4. Combien d’opérations sont nécessaires pour calculer ABb

5. Combien d’opérations sont nécessaires pour calculer ABA

Problem 3. Evaluer y = ABx de deux façons (A et B sont d’ordre n × n,


x est un vecteur)

1. y = (AB)x (MATLAB: C = A ∗ B; y = C ∗ x;)

2. y = A(Bx) (MATLAB: z = B ∗ x; y = A ∗ z;)

les deux méthodes donnent la même réponse, mais quelle est la méthode la
plus rapide?
Problem 4. Evaluer y = (I + uv T )x où u, v, x sont des vecteurs à n dimen-
sions

1. A = I + uv T suivi de y = Ax (MATLAB: y = (eye(n) + u ∗ v) ∗ x)

2. w = (vT x)u suivi de y = x + w (MATLAB: y = x + (v ∗ x) ∗ u)

12
Université Abdelmalek Essaâdi Calcul Scientifique,M32 SMA5
Department of Mathematics 1442/1443(2020/2021)
Faculté des Sciences Prof. Naji Yebari

4 References:
1. Burden and Faires, 2005,
Numerical Analysis, Eighth Edition, Brooks/Cole Publishing Com-
pany.

2. James F. Epperson, 2002,


an Introduction to Numerical Methods and Analysis, John Wiley
N.Y.

3. K. Atkinson, 1989,
An Introduction to Numerical Analysis, John Wiley and Sons, Inc.,
Second Edition.

4. Buchanan and Turner, 1992,


Numerical Methods and Analysis, McGraw-Hill, N.Y.

5. Isaacson and Keller, 1994,


Analysis of Numerical Methods, John Wiley N.Y.

6. L. F. Shampine, R. C. Allen, Jr. and S. Pruess, 1997,


Fundamentals of Numerical Computing, John Wiley and Sons, Inc.,
First Edition.

7. Ralston Anthony, 1996,


A First course in Numerical Analysis, McGraw-Hill, Inc.

13

Vous aimerez peut-être aussi