Algèbre linéaire/Version imprimable

Ceci est la version imprimable de Algèbre linéaire.
  • Si vous imprimez cette page, choisissez « Aperçu avant impression » dans votre navigateur, ou cliquez sur le lien Version imprimable dans la boîte à outils, vous verrez cette page sans ce message, ni éléments de navigation sur la gauche ou en haut.
  • Cliquez sur Rafraîchir cette page pour obtenir la dernière version du wikilivre.
  • Pour plus d'informations sur les version imprimables, y compris la manière d'obtenir une version PDF, vous pouvez lire l'article Versions imprimables.


Algèbre linéaire

Une version à jour et éditable de ce livre est disponible sur Wikilivres,
une bibliothèque de livres pédagogiques, à l'URL :
https://fr.wikibooks.org/wiki/Alg%C3%A8bre_lin%C3%A9aire

Vous avez la permission de copier, distribuer et/ou modifier ce document selon les termes de la Licence de documentation libre GNU, version 1.2 ou plus récente publiée par la Free Software Foundation ; sans sections inaltérables, sans texte de première page de couverture et sans Texte de dernière page de couverture. Une copie de cette licence est incluse dans l'annexe nommée « Licence de documentation libre GNU ».

Espace Vectoriel

Définition d'un espace vectoriel

modifier

  représente le corps des réels ou des complexes. ( )

Soit   un ensemble muni d'une loi interne notée   et d'une loi externe   notée  

Il existe 10 Axiomes pour définir un  -e.v ( -espace vectoriel) :


  et  

   ( Loi Interne)        (Loi Externe)

  1.  .
  2.  .
  3.   admet un élément neutre   , c'est-à-dire  .
  4. Tout élément   admet un symétrique   tel que  . On note  .
  5.  
  6.  
  7.  
  8.  


Application linéaire

Définitions

modifier

Soit   un corps. Soient alors   et   deux  -espaces vectoriels.

Application linéaire

modifier

L'application   est dite linéaire si et seulement si

 

et

 

On note   l'ensemble des applications linéaires de   vers  .

Endomorphisme

modifier

Un endomorphisme est une application linéaire dont l'ensemble d'arrivée est égal à l'ensemble de départ.

L'ensemble des endomorphismes de   se note  .

Isomorphisme

modifier

Un isomorphisme est une application linéaire bijective. Cela se traduit par :

 

Autrement dit, tout élément   de   admet un antécédent et un seul dans   par  .

Automorphisme

modifier

Un automorphisme est un endomorphisme bijectif.

Forme linéaire

modifier

Une forme linéaire est une application linéaire dont l'ensemble d'arrivée est le corps   (généralement,   ou  ). Une forme linéaire est donc une application linéaire de  .

Noyau et Image d'une application linéaire

modifier

Soit   une application linéaire de   dans  . Le noyau de  , noté  , est l'ensemble des éléments de   dont l'image par   est l'élément nul de  . On écrit :

 

Le noyau d'une application linéaire est un sous-espace vectoriel de l'espace de départ :   est un sev de  .

L'image d'une application linéaire   de   dans  , noté  , est l'ensemble des éléments de   ayant un antécédent par   dans  . On écrit :

 

L'image d'une application linéaire est un sous-espace vectoriel de l'espace d'arrivée :   est un sev de  .

Théorème du rang

modifier

Le théorème du rang lie la dimension de l'espace de départ d'une application linéaire aux dimensions du noyau et de l'image de cette application. On écrit :

 


Matrices

Dans ce chapitre   désigne un corps commutatif.

Généralités

modifier

Définitions

modifier

Soient n et p deux entiers naturels non nuls.

Nous appelons matrice à éléments dans   de type (n, p) toute application de   dans   (famille d'éléments de   indexée par  ), c'est à dire un tableau rectangulaire à n lignes et p colonnes de la forme :

 

  de   s'appellent les éléments ou les coefficients de la matrice.

Une telle matrice se note aussi   ou plus simplement  .

L'ensemble des matrices de type (n,p) à éléments dans  , se note  .

Quand n = p, la matrice est dite carrée de dimension n.

Quand p = 1, la matrice ne comporte qu'une seule colonne de n éléments :   . On parle de vecteur.

L'ensemble des matrices carrées de type (n,n) ou d'ordre n, se note  .

Lorsque   la matrice est dite réelle.

Lorsque   la matrice est dite complexe.

Les éléments   forment la diagonale principale de la matrice.

Matrices particulières

modifier

Matrice inverse

modifier

Soit   une matrice. L'inverse de  , si elle existe, est définie comme l'unique matrice   telle que :  

Matrice transposée

modifier

Avant tout, on parle de la transposée d'une matrice. La transposée d'une matrice   est notée  .

Elle est la matrice obtenue à partir de   en inversant les ligne et les colonnes. C'est-à-dire que pour obtenir  , on a   (avec   et  )

Autre notation :   notation sans renommer la transposée de  

Propriété : Lorsque la matrice   est dite symétrique on a alors  , ce qui donne  

Matrice diagonale

modifier

Une matrice carrée   est dite diagonale si tous les éléments hors de la diagonale sont nuls, c'est à dire si

 .

Une telle matrice se note  .

L'ensemble des matrices diagonales se note  .

Matrice triangulaire

modifier

Matrice triangulaire inférieure

modifier

Une matrice carrée   est dite triangulaire inférieure (ou trigonale inférieure) si tous les éléments situés au-dessus de la diagonale principale sont nuls, c'est à dire si

 

Si de plus, les éléments de la diagonale principale sont nuls la matrice est dite strictement triangulaire inférieure (ou strictement trigonale inférieure).

  Une matrice triangulaire inférieure

  Une matrice strictement triangulaire inférieure

L'ensemble des matrices triangulaires inférieures se note  .

Matrice triangulaire supérieure

modifier

De manière analogue, une matrice carrée   est dite triangulaire supérieure (ou trigonale supérieure) si tous les éléments situés au-dessous de la diagonale principale sont nuls, c'est à dire si

 

Si de plus, les éléments de la diagonale principale sont nuls la matrice est dite strictement triangulaire supérieure (ou strictement trigonale supérieure).

  Une matrice triangulaire supérieure

  Une matrice strictement triangulaire supérieure


L'ensemble des matrices triangulaires supérieures se note  .

Le déterminant d'une matrice triangulaire a pour valeur le produits des termes de la diagonale principale. Pour le premier exemple : det = 1 x 4 x 6 = 24

Matrice diagonale

modifier

Une matrice carrée est dite matrice diagonale lorsque  , pour tout  , ce qui signifie que tous les éléments situés hors de la diagonale principale sont nuls. Si tous les éléments non nuls de la matrice diagonale sont égaux, la matrice est dite matrice scalaire.

  Une matrice diagonale

  Une matrice scalaire

Matrice identité

modifier

Une matrice identité est une matrice scalaire où  .

  Une matrice identité (3x3)

Lorsqu'on multiplie une matrice par la matrice identité on revient à la matrice de départ.  

Matrice symétrique et anti-symétrique

modifier
  • Une matrice   est dite symétrique si elle est égale à sa transposée:

 

  • Une matrice   est dite anti-symétrique si elle est égale à l'opposé de sa transposée:

 

Matrices orthogonales

modifier

M est une matrice orthogonale si

 

Le déterminant d'une matrice orthogonale est toujours 1 ou -1.

Matrices idempotentes

modifier

Ces matrices ont la propriété suivante:

 

Matrices nilpotentes

modifier

Une matrice   est dite nilpotente si:

 

Le déterminant d'une matrice nilpotente vaut 0.

Addition de matrices

modifier

A + B = CA, B et C sont des matrices carrées (3,3).

  +   =  

On additionne les éléments de même position dans chaque matrice. On ne peut additionner que des matrices de même dimension.

Pour deux matrices (n,p), l'addition matricielle se définit ainsi:  


Multiplication de matrices

modifier

Propriétés de la multiplication des matrices

modifier

 

On ne peut multiplier deux matrices entre elles que si le nombre de colonnes de celle de gauche est égale au nombre de lignes de celle de droite. D'autre part, le produit de deux matrices n'est pas commutatif :  

Pour des matrices   , la multiplication matricielle se définit ainsi:  

Elément neutre

modifier

Si  , alors   est élément neutre à droite

Si  , alors   est élément neutre à gauche


Systèmes d'équations linéaires

Systèmes d'équations linéaires et matrices

modifier

Résolution de systèmes d'équations linéaires

modifier

2x+y+z=1

3x+3y-z=5

x-2y+3z=2

2x+y+z=1

3y+z=7

-3y+5z=3

2x+y+z=1

3y+z=7

6z=10

donc z=6/10=3/5 et y=

Systèmes de deux équations linéaires à deux inconnues

modifier

Factorisation   d'une matrice

modifier

Certains systèmes d'équations linéaires sont plus faciles à résoudre que d'autres. Un cas particulier de système facile à résoudre est un système d'équations triangulaire tel que

 

La factorisation   d'une matrice permet de transformer un système d'équations linéaires en deux systèmes d'équations triangulaires. En effet, si   avec   une matrice triangulaire inférieure et   une matrice triangulaire supérieure (la notation   prend son origine de l'anglais   pour lower et   pour upper) alors résoudre   est équivalent à résoudre   qui peut se faire en résolvant les deux systèmes triangulaires   et  .


Factorisation   sans permutation

modifier

Pour alléger l'écriture, nous allons montrer comment faire une factorisation   sur un exemple simple d'une matrice 3×3. Le lecteur devrait être capable de généraliser facilement la procédure à des matrices carrées d'autres dimensions. Soit   la matrice que l'on veut factoriser :

 

Nous transformerons la matrice   en une matrice triangulaire supérieure par des opérations linéaires sur les lignes, ce sera la matrice  , la matrice   pourra être récupérée simplement en prenant note des opérations effectuées. Pour faire la factorisation, nous procédons par colonne. Nous voulons mettre des zéros dans la première colonne partout sous le premier élément, ce premier élément que l'on n'annule pas est appelé le pivot. Pour mettre un zéro à la position  , nous retranchons 2 fois la première ligne de la deuxième. Le nombre de fois qu'il faut soustraire la première ligne est bien entendu obtenu en divisant l'élément   par le pivot  , nous obtenons :

 

Nous devons garder en mémoire l'opération qui a été faite de manière à pouvoir construire la matrice  , alors appelons   le facteur de l'opération effectuée, c'est-à-dire le nombre de fois que l'on a soustrait la première ligne à la deuxième, ici nous avons  .

Continuons avec l'élément suivant sur la première colonne. Nous voulons mettre un zéro à la position  . Cette fois il nous faudra ajouter la ligne 1 à la ligne 3 ; à l'opération précédente nous avions pris en note combien de fois nous avions soustrait la ligne 1 à la ligne 2. Pour être constant dans notre façon de noter les opération et parce que, comme nous le verrons plus loin, c'est beaucoup plus pratique, nous noterons toujours combien de fois nous soustrayons les lignes. Au lieu de noter que nous ajoutons une fois la ligne 1 à la ligne 3, nous noterons que nous soustrayons moins une fois la ligne 1 à la ligne 3, donc   et nous avons maintenant la matrice :

 

PASSONS maintenant à la deuxième colonne. Il nous faut choisir un nouveau pivot sur la deuxième colonne. Nous ne pouvons pas choisir le pivot sur la première ligne sinon nous remplirons la première colonne en annulant les entrées dans la deuxième colonne. Prenons donc l'élément à la position 2,2 pour pivot. L'opération pour mettre un zéro à la position 3,2 sera de soustraire 3 fois la deuxième ligne à la troisième ligne. Nous obtenons notre matrice triangulaire supérieure :

 

Et nous notons le facteur de l'opération  . La matrice   est obtenue en mettant des zéros au-dessus de la diagonale, des un sur la diagonale et les coefficients pris en note à leur position respective sous la diagonale c'est-à-dire :

 

Avant de démontrer pourquoi cela fonctionne, vérifions-le sur cet exemple en faisant le produit :

 


Pour voir pourquoi les matrices   et   obtenues selon la procédure décrite ci-haut sont bien des facteurs de la matrice   nous introduisons des matrices de soustraction de lignes  . Ces matrices sont obtenus en mettant des 1 sur la diagonale et l'élément   à la position  . Par exemple, pour les matrices 3×3 :

 

On peut voir que pré-multiplier une matrice par   a pour effet de soustraire deux fois la première ligne à la deuxième ligne. Et de manière générale, pré-multiplier une matrice par   a pour effet de soustraire   fois la ligne   à la ligne  . Donc la triangularisation que l'on a faite ci-haut peut s'écrire

 

L'inverse d'une matrice   est facile à déterminer. L'inverse est simplement  , en effet  . En multipliant à gauche l'équation de   ci-haut par   on obtient:

 

Et en remultipliant successivement par   et  , on obtient

 

Nous laissons au lecteur l'exercice de vérifier que :

 

Résoudre un système d'équation linéaire par factorisation   de la matrice

modifier

Soit à résoudre le système d'équations

 

Il est plus pratique d'utiliser la notation matricielle pour écrire le système d'équation, alors dorénavant nous n'écrirons plus de système d'équation tel que ci-haut, nous l'écrirons sous la forme  , c'est-à-dire:

 

Nous reconnaissons dans ce problème la matrice   de la section précédente. Le problème est donc équivalent à résoudre   :

 

Pour résoudre ce problème on commence par faire la substitution  . Le problème se résout donc en deux étapes, premièrement on résout  , c'est une descente triangulaire:

 

La première ligne nous donne  . Ce que l'on peut introduire dans la deuxième ligne qui devient  , d'où  . On introduit ces deux valeurs dans la troisième ligne qui devient  , ce qui donne  .

Deuxièmement on résoud la remontée triangulaire  

 

La troisième ligne nous donne  , c'est-à-dire  . Que l'on insère dans la deuxième ligne, ce qui donne  , donc  . Finalement, on introduit   et   dans la première ligne pour avoir   et  .

Les descentes et remontées triangulaires se font relativement rapidement, ce qui permet si on a plusieurs systèmes d'équations linéaire ayant la même matrice de toutes les résoudre à peu de frais une fois la matrice factorisé. Nous verrons, plusieurs situations où cela s'avère utile tout au long de ce livre.

Factorisation  

modifier

Factorisation  

modifier

Méthode de Gauss-Jordan

modifier

Méthode de Gauss-Jordan

modifier

C'est une méthode permettant la mise sous carré d'une forme quadratique.

Chaînes de Markov

modifier

Équations chimiques

modifier

Temps d'exécutions et considérations numériques

modifier

Méthodes d'ordre inférieur à  

modifier

Note : Cette section introduit des notions qui sont peu utilisées et difficilement utilisables. De plus les notions de cette sections ne serviront pas dans le reste de ce livre. Le lecteur peut donc sans crainte passer à la section suivante.


Multiplication rapide de matrices

modifier

La méthode de multiplication suivante est appelé l'algorithme de Strassen, ou multiplication rapide de matrices. Soient A et B les matrices:

 

La méthode standard pour multiplier ces deux matrices demandes 8 multiplications scalaires. Mais il est possible de faire cette multiplication matricielle avec une multiplication scalaire de moins de la manière suivante.

On pose:

 
 
 
 
 
 
 

On peut voir que

 

Cette façon de multiplier ces deux matrices peut sembler compliquée et contre-intuitive et à première vue le gain n'est pas très important, on économise une multiplication au prix de 14 additions (ou soustraction) supplémentaires. Là où cette méthode devient plus intéressante, c'est lorsque les matrices sont de plus grande taille. Si les matrices   et   était des matrices 200×200 au-lieu de matrices 2×2, alors nous pourrions utiliser le même procédé mais en utilisant des sous-matrices de taille 100×100 à la place des scalaires. On économise alors un produit matricielle 100×100 au coût de 14 additions matricielles 100×100. Les produits matriciels 100×100 exigent environ   additions et multiplications scalaires lorsqu'ils sont faits de façon standard mais les additions matricielles 100×100 ne demandent que   additions. Donc le produit matriciel économisé prendrait beaucoup plus de temps de calcul que les 14 additions matricielles supplémentaires.

De plus, il est possible d'itérer ce processus. Si on veut multiplier 2 matrices de dimension  , on peut utiliser l'algorithme ci-dessus avec des sous-matrices de dimension  ×  et faire chacune des 7 multiplications nécessaires en utilisant la même méthode avec des sous-matrices de dimension  × . On peut donc multiplier deux matrices de dimension  ×  en ne faisant que   multiplications scalaires comparativement à   multiplications scalaires pour la méthode standard.

Si on veut multiplier deux très grandes matrices dont les dimensions ne sont pas des puissances de deux, on peut utiliser la même procédure simplement en complétant les matrices par des zéros et des uns sur la diagonale pour obtenir une dimension qui est puissance de 2. Il suffira ensuite de tronquer les lignes et les colonnes artificielles dans le résultat.

Résoudre des systèmes d'équations linéaires en utilisant la multiplication rapide de matrices

modifier

Pour résoudre un système d"équation linéaire   en utilisant la multiplication rapide des matrices, on commence par calculer l'inverse de la matrice  . Pour ce faire on utilise une notation par block de la matrice. Si a est une matrice de dimension  × , alors on forme les sous matrices de dimensions  × :  ,  ,   et   de manière à ce que

 

Alors l'inverse de la matrice   peut s'écrire:

 

Cela nécessite de calculer 2 inverses de matrices et 5 produits matricielles tous de dimensions  × . En effet il suffit de calculer les inverses

 
 

et de faire les produits matricielle

 
 
 
 
 

En calculant ces produits matricielle et ces matrices inverses en utilisant la multiplication rapide et cette méthode d'inversion de manière récursive le nombre d'opération nécessaire pour inverser une matrice de dimension  ×  est de l'ordre de  .

Les méthodes de multiplication rapide et d'inversion rapide de matrice d'écrite ici ne sont pas optimales. On peut construire des méthodes plus élaborer de multiplication de matrices par exemple on peut multiplier des matrices 3×3 plus efficacement que les matrices 2×2 par un astuce similaire à celle décrite ci-dessus mais plus élaborée. Il est possible de développer ce genre d'astuce de plus en plus élaborer sur des matrices de plus en plus grande. Il est possible d'avoir des méthodes dont la complexité numérique pour une matrice  ×  est de l'ordre de   ce qui est bien moins que le  . Cependant toutes ces méthodes ont des problèmes de stabilités numériques, c'est-à-dire que de petites erreurs d'arrondie peuvent avoir des conséquences désastreuses sur les résultats. Pour cette raison, ces méthodes ne sont pas utilisées. Peut-être un jour trouvera-t-on une solution à ces problèmes d'instabilités numériques.

Systèmes indéterminés et systèmes surdéterminés

modifier

Valeurs propres et vecteurs propres

modifier

Programmation linéaire

modifier

Méthode du Simplex

modifier

Dualité

modifier

Systèmes d'équations linéaires et matrices

modifier

Résolution de systèmes d'équations linéaires

modifier

Systèmes de deux équations à deux inconnues

modifier

2x+4y_3=0.

Factorisation   d'une matrice

modifier

Certains systèmes d'équations linéaires sont plus faciles à résoudre que d'autres. Un cas particulier de système facile à résoudre est un système d'équations triangulaire tel que

 

La factorisation   d'une matrice permet de transformer un système d'équations linéaires en deux systèmes d'équations triangulaires. En effet, si   avec   une matrice triangulaire inférieure et   une matrice triangulaire supérieure (la notation   prend son origine de l'anglais   pour lower et   pour upper) alors résoudre   est équivalent à résoudre   qui peut se faire en résolvant les deux systèmes triangulaires   et  .


Factorisation   sans permutation

modifier

Pour alléger l'écriture, nous allons montrer comment faire une factorisation   sur un exemple simple d'une matrice 3×3. Le lecteur devrait être capable de généraliser facilement la procédure à des matrices carrées d'autres dimensions. Soit   la matrice que l'on veut factoriser :

 

Nous transformerons la matrice   en une matrice triangulaire supérieure par des opérations linéaires sur les lignes, ce sera la matrice  , la matrice   pourra être récupérée simplement en prenant note des opérations effectuées. Pour faire la factorisation, nous procédons par colonne. Nous voulons mettre des zéros dans la première colonne partout sous le premier élément, ce premier élément que l'on n'annule pas est appelé le pivot. Pour mettre un zéro à la position  , nous retranchons 2 fois la première ligne de la deuxième. Le nombre de fois qu'il faut soustraire la première ligne est bien entendu obtenu en divisant l'élément   par le pivot  , nous obtenons :

 

Nous devons garder en mémoire l'opération qui a été faite de manière à pouvoir construire la matrice  , alors appelons   le facteur de l'opération effectuée, c'est-à-dire le nombre de fois que l'on a soustrait la première ligne à la deuxième, ici nous avons  .

Continuons avec l'élément suivant sur la première colonne. Nous voulons mettre un zéro à la position  . Cette fois il nous faudra ajouter la ligne 1 à la ligne 3 ; à l'opération précédente nous avions pris en note combien de fois nous avions soustrait la ligne 1 à la ligne 2. Pour être constant dans notre façon de noter les opération et parce que, comme nous le verrons plus loin, c'est beaucoup plus pratique, nous noterons toujours combien de fois nous soustrayons les lignes. Au lieu de noter que nous ajoutons une fois la ligne 1 à la ligne 3, nous noterons que nous soustrayons moins une fois la ligne 1 à la ligne 3, donc   et nous avons maintenant la matrice :

 

PASSONS maintenant à la deuxième colonne. Il nous faut choisir un nouveau pivot sur la deuxième colonne. Nous ne pouvons pas choisir le pivot sur la première ligne sinon nous remplirons la première colonne en annulant les entrées dans la deuxième colonne. Prenons donc l'élément à la position 2,2 pour pivot. L'opération pour mettre un zéro à la position 3,2 sera de soustraire 3 fois la deuxième ligne à la troisième ligne. Nous obtenons notre matrice triangulaire supérieure :

 

Et nous notons le facteur de l'opération  . La matrice   est obtenue en mettant des zéros au-dessus de la diagonale, des un sur la diagonale et les coefficients pris en note à leur position respective sous la diagonale c'est-à-dire :

 

Avant de démontrer pourquoi cela fonctionne, vérifions-le sur cet exemple en faisant le produit :

 


Pour voir pourquoi les matrices   et   obtenues selon la procédure décrite ci-haut sont bien des facteurs de la matrice   nous introduisons des matrices de soustraction de lignes  . Ces matrices sont obtenus en mettant des 1 sur la diagonale et l'élément   à la position  . Par exemple, pour les matrices 3×3 :

 

On peut voir que pré-multiplier une matrice par   a pour effet de soustraire deux fois la première ligne à la deuxième ligne. Et de manière générale, pré-multiplier une matrice par   a pour effet de soustraire   fois la ligne   à la ligne  . Donc la triangularisation que l'on a faite ci-haut peut s'écrire

 

L'inverse d'une matrice   est facile à déterminer. L'inverse est simplement  , en effet  . En multipliant à gauche l'équation de   ci-haut par   on obtient:

 

Et en remultipliant successivement par   et  , on obtient

 

Nous laissons au lecteur l'exercice de vérifier que :

 

Résoudre un système d'équation linéaire par factorisation   de la matrice

modifier

Soit à résoudre le système d'équations

 

Il est plus pratique d'utiliser la notation matricielle pour écrire le système d'équation, alors dorénavant nous n'écrirons plus de système d'équation tel que ci-haut, nous l'écrirons sous la forme  , c'est-à-dire:

 

Nous reconnaissons dans ce problème la matrice   de la section précédente. Le problème est donc équivalent à résoudre   :

 

Pour résoudre ce problème on commence par faire la substitution  . Le problème se résout donc en deux étapes, premièrement on résout  , c'est une descente triangulaire:

 

La première ligne nous donne  . Ce que l'on peut introduire dans la deuxième ligne qui devient  , d'où  . On introduit ces deux valeurs dans la troisième ligne qui devient  , ce qui donne  .

Deuxièmement on résout la remontée triangulaire  

 

La troisième ligne nous donne  , c'est-à-dire  . Que l'on insère dans la deuxième ligne, ce qui donne  , donc  . Finalement, on introduit   et   dans la première ligne pour avoir   et  .

Les descentes et remontées triangulaires se font relativement rapidement, ce qui permet si on a plusieurs systèmes d'équations linéaire ayant la même matrice de toutes les résoudre à peu de frais une fois la matrice factorisé. Nous verrons, plusieurs situations où cela s'avère utile tout au long de ce livre.

Factorisation  

modifier

Factorisation  

modifier

Méthode de Gauss-Jordan

modifier

Méthode de Gauss-Jordan

modifier

C'est une méthode permettant la mise sous carré d'une forme quadratique.

Chaînes de Markov

modifier

Équations chimiques

modifier

Temps d'exécutions et considérations numériques

modifier

Méthodes d'ordre inférieur à  

modifier

Note : Cette section introduit des notions qui sont peu utilisées et difficilement utilisables. De plus les notions de cette sections ne serviront pas dans le reste de ce livre. Le lecteur peut donc sans crainte passer à la section suivante.


Multiplication rapide de matrices

modifier

La méthode de multiplication suivante est appelé l'algorithme de Strassen, ou multiplication rapide de matrices. Soient A et B les matrices:

 

La méthode standard pour multiplier ces deux matrices demandes 8 multiplications scalaires. Mais il est possible de faire cette multiplication matricielle avec une multiplication scalaire de moins de la manière suivante.

On pose:

 
 
 
 
 
 
 

On peut voir que

 

Cette façon de multiplier ces deux matrices peut sembler compliquée et contre-intuitive et à première vue le gain n'est pas très important, on économise une multiplication au prix de 14 additions (ou soustraction) supplémentaires. Là où cette méthode devient plus intéressante, c'est lorsque les matrices sont de plus grande taille. Si les matrices   et   était des matrices 200×200 au-lieu de matrices 2×2, alors nous pourrions utiliser le même procédé mais en utilisant des sous-matrices de taille 100×100 à la place des scalaires. On économise alors un produit matricielle 100×100 au coût de 14 additions matricielles 100×100. Les produits matriciels 100×100 exigent environ   additions et multiplications scalaires lorsqu'ils sont faits de façon standard mais les additions matricielles 100×100 ne demandent que   additions. Donc le produit matriciel économisé prendrait beaucoup plus de temps de calcul que les 14 additions matricielles supplémentaires.

De plus, il est possible d'itérer ce processus. Si on veut multiplier 2 matrices de dimension  , on peut utiliser l'algorithme ci-dessus avec des sous-matrices de dimension  ×  et faire chacune des 7 multiplications nécessaires en utilisant la même méthode avec des sous-matrices de dimension  × . On peut donc multiplier deux matrices de dimension  ×  en ne faisant que   multiplications scalaires comparativement à   multiplications scalaires pour la méthode standard.

Si on veut multiplier deux très grandes matrices dont les dimensions ne sont pas des puissances de deux, on peut utiliser la même procédure simplement en complétant les matrices par des zéros et des uns sur la diagonale pour obtenir une dimension qui est puissance de 2. Il suffira ensuite de tronquer les lignes et les colonnes artificielles dans le résultat.

Résoudre des systèmes d'équations linéaires en utilisant la multiplication rapide de matrices

modifier

Pour résoudre un système d"équation linéaire   en utilisant la multiplication rapide de matrices, on commence par calculer l'inverse de la matrice  . Pour ce faire on utilise une notation par block de la matrice. Si a est une matrice de dimension  × , alors on forme les sous matrices de dimensions  × :  ,  ,   et   de manière à ce que

 

Alors l'inverse de la matrice   peut s'écrire:

 

Cela nécessite de calculer 2 inverses de matrices et 6 produits matricielles tous de dimensions  × . En effet il suffit de calculer les inverses

 
 

et de faire les produits matricielle

 
 
 
 
 
 

En calculant ces produits matricielle et ces matrices inverses en utilisant la multiplication rapide et cette méthode d'inversion de manière récursive le nombre d'opérations nécessaire pour inverser une matrice de dimension  ×  est de l'ordre de  .

Les méthodes de multiplication rapide et d'inversion rapide de matrice décrite ici ne sont pas optimales. On peut construire des méthodes plus élaborer de multiplication de matrices par exemple on peut multiplier des matrices 3×3 plus efficacement que les matrices 2×2 par un astuce similaire à celui décrit ci-haut mais plus élaborer. Il est possible de développer ce genre d'astuce de plus en plus élaborer sur des matrices de plus en plus grande. Il est possible d'avoir des méthodes dont la complexité numérique pour une matrice  ×  est de l'ordre de   ce qui est bien moins que le  . Cependant toutes ces méthodes ont des problèmes de stabilités numériques, c'est-à-dire que de petites erreurs d'arrondie peuvent avoir des conséquences désastreuses sur les résultats. Pour cette raison, ces méthodes ne sont pas utilisées. Peut-être un jour trouvera-t-on une solution à ces problèmes d'instabilités numériques.

Systèmes indéterminés et systèmes surdéterminés

modifier

Valeurs propres et vecteurs propres

modifier

Programmation linéaire

modifier

Méthode du Simplex

modifier

Dualité

modifier

Liens externes

modifier


Matrice inverse

L'inverse à gauche d'une matrice   est une matrice   telle que  . L'inverse à droite d'une matrice   est une matrice   telle que  . L'inverse d'une matrice  , noté  , est une matrice qui est à la fois l'inverse à gauche et l'inverse à droite.

Si la matrice   n'est pas une matrice carrée, disons qu'elle est de dimension   par   alors   ne peut pas avoir d'inverse, en revanche elle pourra avoir un inverse à gauche si   ou un inverse à droite si  .

Une matrice carrée ne peut avoir qu'un seul inverse. Si   est une matrice carrée et que   est son inverse à gauche (respectivement à droite) alors nécessairement   sera aussi son inverse à droite (resp. à gauche) et sera donc l'inverse de  .


Niveau DEUG

Algèbre Linéaire

On étudie ici les notions de bases nécessaire à notre étude : Les espaces quotients, les groupes, les anneaux et les corps.

Espaces vectoriels

modifier

Réduction des endomorphismes

modifier

Espaces Affines

modifier

Dualités

modifier

forme linéaire base dual base preduale hyperplan base bidual

espace préhilbertienne réels

modifier

espace euclidiennes

modifier

espace hermitienne

modifier
  GFDL Vous avez la permission de copier, distribuer et/ou modifier ce document selon les termes de la licence de documentation libre GNU, version 1.2 ou plus récente publiée par la Free Software Foundation ; sans sections inaltérables, sans texte de première page de couverture et sans texte de dernière page de couverture.