« Matrice vide » : différence entre les versions

Contenu supprimé Contenu ajouté
JeanCASPAR (discuter | contributions)
Utilisation des balises <math></math>.
Fecnoooom (discuter | contributions)
m Correction
Ligne 13 :
| isbn = 978-3-642-46218-4 | isbn2 = 978-3-642-46216-0
| passage = 3
}}</ref>{{,}}<ref name="deBoor1990">{{harvsp|de Boor|1990}}</ref> est définie comme une [[matrice (mathématiques)|matrice]] dont l'une des dimensions <math>m</math> ou <math>n</math> est nulle ; il s'agit donc de matrices de dimension <math>m \times 0</math>, <math>0 \times n</math> ou bien <math>0 \times 0</math>.
 
Une matrice pouvant être définie abstraitement par une famille finie d'éléments d'un ensemble <math>K</math> (souvent un [[anneau commutatif]] ou un [[corps (mathématiques)|corps]]) indexés par un [[produit cartésien]] <math>I \times J</math> où <math>I</math> et <math>J</math> sont des ensembles finis, une matrice vide correspond au cas où soit <math>I</math> soit <math>J</math> est l'[[ensemble vide]]<ref>Voir {{chapitre
Ligne 27 :
}}, qui parle aussi de « matrice vide » dans le cas où I ou J est l'[[ensemble vide]].</ref>.
 
Ces matrices sont utiles pour travailler avec l'[[espace nul]] <math>K^0</math> (<math>K</math> étant un corps commutatif quelconque, habituellement <math>\mathbb{R}</math> ou <math>\mathbb{C}</math>). Elles permettent donc d'appliquer les matrices à cet espace vectoriel trivial. D'un point de vue pratique, les matrices vides étendent la validité de théorèmes à des cas limites ; elles permettent par exemple d'utiliser des équations de dynamique à des situations statiques<ref name="NettHaddad1993771">{{harvsp|Nett|Haddad|1993|p=771}}.</ref>. En informatique, une matrice vide peut être le résultat d'une recherche infructueuse ou bien survenir au début ou à la fin d'un algorithme itératif ; l'extension des règles de l'algèbre aux cas limite des matrices vides permet donc d'éviter de traiter ces cas comme des exceptions<ref name="NettHaddad1993771" />.
 
== Une matrice vide en tant que représentant d'une application linéaire ==
Ligne 33 :
{{voir aussi|Matrice d'une application linéaire}}
 
L'espace nul <math>K^0</math> ne contient qu'un seul élément, le « vecteur vide » (le vecteur n'ayant aucune coordonnée<ref>Un tel vecteur est alors le 0-uplet d'éléments de <math>K</math>, et peut donc être identifié comme l'application vide vers <math>K</math>, notée <math>\varnothing_K</math>.</ref>). Un espace vectoriel ayant nécessairement un [[élément neutre]], ce vecteur vide est le [[vecteur nul]] de <math>K^0</math> noté <math>0_{K^0}</math> :
:<math>K^0 = \{ 0_{K^0} \}</math>
L'espace nul est de dimension 0. Soit un <math>K</math>-espace vectoriel <math>E</math> quelconque. Il n'existe qu'une seule [[application linéaire]] de <math>E</math> dans <math>K^0</math>, celle transformant tout vecteur de <math>E</math> en ce vecteur nul (c'est l'[[application nulle]]). L'ensemble des applications linéaires de <math>E</math> dans <math>K^0</math> est donc un [[singleton (mathématiques)|singleton]].
Ligne 54 :
Il existe donc une unique matrice de dimension <math>0 \times n</math> représentant cette applications linéaire, la matrice vide <math>()_{0, n}</math>.
 
En tant que représentant d'une application nulle, une matrice vide est une matrice nulle :
:<math>\begin{align} ()_{n,0} = 0_{n,0} \\ ()_{0, n} = 0_{0, n} \end{align}</math>
 
La matrice vide de dimension <math>0 \times 0</math>, notée <math>()_{0, 0}</math>, représente en particulier l'[[application identité|identité]] <math>\mathrm{Id}_0</math> de l'espace nul. C'est donc une matrice inversible (régulière), donc carrée. Elle représente également l'application nulle, donc :
:<math>()_{0,0} = \mathrm{Id}_0 = 0_{0,0}</math>
Dans l'[[anneau nul]] des matrices de dimension <math>0 \times 0</math>, l'unique élément est neutre à la fois pour le produit et pour la somme.
Ligne 64 :
 
Dans ce qui suit, la notation « () » désigne une matrice vide quelconque.
* l'[[Image d'une application linéaire|image]] de toute matrice vide est réduite au vecteur nul : <math>\operatorname{Im}~() = \{0\}</math> ; le [[Rang d'une matrice|rang]] de toute matrice vide est donc nul : <math>\operatorname{rg}~() = 0</math> ;
* le [[Noyau (algèbre)|noyau]] d'une matrice vide est l'espace tout entier : si <math>()_{n, m}</math> est vide, <math>\operatorname{Ker}~()_{m,n} = K^m </math> ;
* la [[Norme (mathématiques)|norme]] de toute matrice vide est nulle : <math>\| () \| = 0</math>;
* la [[Matrice transposée|transposée]] d'une matrice vide est encore vide ;
* le produit dépend de la dimension de la matrice vide considérée : pour une matrice A de dimension <math>m \times n</math> et une matrice B de dimension <math>n \times p</math>, au moins un des entiers <math>m</math>, <math>n</math> et <math>p</math> étant nul ; <math>AB</math> est une matrice de dimension <math>m \times p</math> et donc :
** si <math>m = 0</math> , alors <math>AB</math> est une matrice de dimension <math>0 \times p</math> donc une matrice vide : <math>()_{0, n} \times B = ()_{0, p}</math>,
** si <math>p = 0</math>, alors <math>AB</math> est une matrice de dimensions <math>m \times 0</math>, c'est également une matrice vide : <math>A \times ()_{n, 0} = ()_{m, 0}</math>,
** mais si <math>n = 0</math> et si <math>m \neq 0</math> et <math>p \neq 0</math>, alors la matrice <math>AB</math> est la [[matrice nulle]] de dimension <math>m \times p</math>
**: <math>()_{m, 0} \times ()_{0, p} = 0_{m, p}</math> ; concrètement, la multiplication des matrices correspond à la composition d'applications linéaires, nous avons ici la composition de deux applications nulles, la résultante est logiquement l'application nulle de l'espace de départ <math>K^p</math> vers l'espace d'arrivée <math>K^m</math> ;
L'addition de matrices est une [[Loi de composition interne|loi de composition ''interne'']], les matrices ont donc nécessairement la même dimension. Ainsi, on ne peut écrire « <math>A + ()</math> » ou bien « <math>() + A</math> » que si <math>A</math> est elle-même une matrice vide identique, le résultat est donc également une matrice vide.
 
Pour la matrice vide de dimension <math>0 \times 0</math> :
*<math>()_{0, 0} = I_0</math> ([[matrice identité]]) donc :
**la matrice est sa propre [[Matrice inversible|inverse]] : <math>()_{0, 0}^{-1} = ()_{0, 0}</math>,
**la matrice <math>()_{0, 0}</math> à valeurs réelles est [[Matrice orthogonale|orthogonale]] ;
* [[Conditionnement (analyse numérique)|conditionnement]] :
** certains retiennent la convention <math>\operatorname{cond}~()_{0, 0} = 0</math> par calcul<ref name="deBoor1990" /> (puisque la norme est nulle),
** d'autres retiennent <math>\operatorname{cond}~()_{0, 0} = 1</math> par application de la notion de conditionnement<ref name="ScilabCond">C'est par exemple le choix du logiciel [[Scilab]] des versions 5.3 à 6.0, voir {{lien web
Ligne 91 :
| site = help.scilab.org
| date = 2018-02-12 | consulté le = 2018-06-04
}}.</ref> (une précision parfaite correspondant à un score de 1 et la matrice vide est une identité, les matrices unités ayant toutes un conditionnement de 1) ;
* [[Déterminant (mathématiques)|déterminant]] : <math>\operatorname{det}~()_{0, 0} = 0</math> ; c'est une conséquence de la notion de [[produit vide]] dans la formule de Leibniz et c'est cohérent avec le fait que c'est une matrice identité ;
* son [[polynôme caractéristique]] est 1 d'après le point précédent ;
* ce polynôme n'a pas de racine donc la matrice n'a pas de [[valeur propre]] (et donc pas de [[vecteur propre]]) ;
* la matrice vide est nulle donc à la fois [[Matrice symétrique|symétrique]] et [[Matrice antisymétrique|antisymétrique]], et de [[trace (algèbre)|trace]] nulle.
 
Ligne 138 :
Empty matrix: 0-by-1
</syntaxhighlight>
Concernant le produit, on a :
<syntaxhighlight lang="matlab">
>> c*c'
Ligne 165 :
=== Scilab ===
 
Le logiciel [[Scilab]] ne définit qu'une seule matrice vide notée <code>[]</code>. L'exemple précédent donne dans Scilab :
<syntaxhighlight lang="scilab">
--> zeros(0, 1)
Ligne 200 :
| site = help.scilab.org
| date = 2017-02-14 | consulté le = 2018-06-04
}}.</ref> ;
* <code>A*[] == []*A == []</code> ;
* <code>sum([]) == 0</code> et <code>prod([]) == 1</code> ;
* <code>det([]) == 0</code><ref>Contrairement à ce que mentionne l'aide en ligne.</ref> ;
* <code>inv([]) == []</code> ;
* <code>cond([]) == 1</code><ref name="ScilabCond" />.
 
=== R ===
 
Le logiciel [[R (langage)|R]] permet de créer des matrices vides de toutes dimensions. Par exemple :
<syntaxhighlight lang="rsplus">
> M <- matrix(, nrow = 3, ncol = 0) # matrice vide 3 × 0
Ligne 257 :
=== Maxima ===
 
Le logiciel [[Maxima (logiciel)|Maxima]] ne permet de créer que des matrices colonne vides <math>()_{n, 0}</math> et la matrice carrée vide <math>()_{0, 0}</math> :
<syntaxhighlight lang="text">
(%i1) A:matrix()
Ligne 284 :
(%o7) 1
</syntaxhighlight>
Notez que <code>matrix()</code> est la matrice <math>()_{0, 0}</math> ; Maxima n'est pas cohérent puisque <code>charpoly(A, x)</code>, qui calcule le polynôme caractéristique d'une matrice, renvoie une erreur indiquant que A n'est pas carrée mais a pour dimension <math>1 \times 0</math>. L'expression <code>matrix([])</code> donne la matrice <math>1 \times 1</math> qui contient le vecteur vide et qui, pour Maxima, est différente de <code>matrix()</code>. La transposée d'une matrice <math>()_{n, 0}</math> donne la matrice <math>()_{0, 0}</math>.
 
=== Python===
La librairie [[NumPy|numpy]] permet de créer une matrice vide (ci dessous, la matrice se compose de 0 lignes et 5 colonnes) :
 
<syntaxhighlight lang="text">
Ce document provient de « https://fr.wikipedia.org/wiki/Matrice_vide ».