Matrice vide
# Matrice vide

En mathématiques, une matrice $vide^,$ est définie comme une matrice dont l'une des dimensions m ou n est nulle ; il s'agit donc de matrices de dimension m × 0, 0 × n ou bien 0 × 0.

Une matrice pouvant être définie abstraitement par une famille finie d'éléments d'un ensemble K (souvent un anneau commutatif ou un corps) indexée par un produit cartésien I × J où I et J sont des ensembles finis, une matrice vide correspond au cas où soit I soit J est l'ensemble vide.

Ces matrices sont utiles pour travailler avec l'espace nul $K^0$ (K étant un corps commutatif quelconque, habituellement ℝ ou ℂ). 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. 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.

## Une matrice vide en tant que représentant d'une application linéaire

L'espace nul $K^0$ ne contient qu'un seul élément, le « vecteur vide » (le vecteur n'ayant aucune coordonnée). Un espace vectoriel ayant nécessairement un élément neutre, ce vecteur vide est le vecteur nul de $K^0$ noté $0_{K0}$ :

    $K^{0}=\{0_{K^{0}}\}$

L'espace nul est de dimension 0. Considérons maintenant un K-espace vectoriel E quelconque. Il n'existe qu'une seule application linéaire de E dans $K^0,$ celle transformant tout vecteur de E en ce vecteur nul (c'est l'application nulle). L'ensemble des applications linéaires de E dans $K^0$ est donc un singleton.

    $L(E,K^{0})=\left\{f_{E,K^{0}}\right\}$ avec
    ${\begin{matrix}f_{E,K^{0}}:&E&\rightarrow &K^{0}\\&x&\mapsto &0_{K^{0}}\end{matrix}}$

Si l'on appelle n la dimension de E, alors il existe une unique matrice de dimension n × 0 qui représente cette application linéaire unique, c'est une matrice vide que l'on pourra $noter_{n,0}.$

De même, il n'existe qu'une seule application linéaire de $K^0$ dans E, l'image de $K^0$ par cette application étant le vecteur nul de E puisque l'unique élément de $K^0$ est le vecteur nul (c'est donc également l'application nulle). L'ensemble des applications linéaires de $K^0$ dans E est également un singleton.

    $L(K^{0},E)=\left\{f_{K^{0},E}\right\}$ avec
    ${\begin{matrix}f_{K^{0},E}:&K^{0}&\rightarrow &E\\&x&\mapsto &0_{E}\end{matrix}}$

Il existe donc une unique matrice de dimension 0 × n représentant cette applications linéaire, la matrice $vide_{0,n}.$

En tant que représentant d'une application nulle, une matrice vide est une matrice nulle :

    $_{n,0}=0_{n,0};_{0,n}=0_{0,n}$.

La matrice vide de dimension 0×0, que l'on peut $noter_{0,0},$ représente en particulier l'identité $Id_0$ de l'espace nul. C'est donc une matrice inversible (régulière), donc carrée. Puisqu'elle représente également l'application nulle, nous avons donc :

    $_{0,0}=\mathrm {Id} _{0}=0_{0,0},$

c'est-à-dire que dans l'anneau nul des matrices de dimension 0×0, l'unique élément est neutre à la fois pour le produit et pour la somme.

## Propriétés des matrices vides

Dans ce qui suit, la notation «  » désigne une matrice vide de dimension $quelconque_{n,0},_{0,n}$ $ou_{0,0}.$

* l'image de toute matrice vide est réduite au vecteur nul : Im = {0} ; le rang de toute matrice vide est donc nul : rg = 0 ;
* le noyau d'une matrice vide dépend de ses dimensions :
   * $Ker_{0,n}$ = {0},
   * $Ker_{n,0}$ = $K^n$ ;
* la norme de toute matrice vide est nulle : ║║ = 0 ;
* la 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 (m × n) et une matrice B de dimension (n × p), au moins un des entiers m, n et p étant nul ; AB est une matrice de dimension (m × p) et donc :
   * si m = 0 , alors AB est une matrice de dimension (0 × p) donc une matrice vide $:_{0,n}$ × B $=_{0,p},$
   * si p = 0, alors AB est une matrice de dimensions (m × 0), c'est également une matrice vide : A $×_{n,0}$ $=_{m,0},$
   * mais si n = 0 et si m ≠ 0 et p ≠ 0, alors la matrice AB est la matrice nulle de dimension (m × p)

   $_{m,0}$ $×_{0,p}$ = $0_{m,p}$ ; 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 $K^p$ vers l'espace d'arrivée $K^m$ ;

Concernant la somme : l'addition de matrices est une loi de composition interne, les matrices ont donc nécessairement la même dimension. Ainsi, on ne peut écrire « A + » ou bien «  + A » que si A est elle-même une matrice vide identique, le résultat est donc également une matrice vide.

Pour la matrice vide de dimension 0 × 0 :

$*_{0,0}$ = $I_0$ (matrice identité) donc :

   * la matrice est sa propre inverse $:_{0,0}^{–1}$ $=_{0,0},$
   * la $matrice_{0,0}$ à valeurs réelles est orthogonale ;
* conditionnement :
   * certains retiennent la convention $cond_{0,0}$ = 0 par calcul (puisque la norme est nulle),
   * d'autres retiennent $cond_{0,0}$ = 1 par application de la notion de conditionnement (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 : $det_{0,0}$ = 1 ; 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 symétrique et antisymétrique, et de trace nulle.

## Dans les langages de programmation

### Matlab

Jusqu'à sa version 4, Matlab n'acceptait qu'une matrice vide notée. À partir de sa version 5, il distingue les matrices vides 0 × 0 (notée), 0 × 1 et 1 × 0. On peut obtenir une matrice vide 0 × 1 par

Le logiciel vérifie la compatibilité des dimensions des matrices vides pour le produit et la somme. Si l'on ajoute un scalaire à la matrice vide — ce qui revient dans Matlab à ajouter le scalaire à tous les éléments de la matrice vide —, Matlab retourne la matrice vide.

Concernant le produit, on a :

On a également sum(c) == 0 et prod(c) == 1 car ce sont les éléments neutres de la somme et du produit respectivement.

Seule la matrice vide 0 × 0 est considérée comme carrée et inversible. On a alors det() == 1, inv() == et cond() == 0.

GNU Octave dispose également de ces trois matrices vide avec un comportement similaire.

### Scilab

Le logiciel Scilab ne définit qu'une seule matrice vide notée. L'exemple précédent donne dans Scilab :

Le logiciel autorise le produit et la somme avec une matrice vide sans vérifier les dimensions. On a :

* + A == A + == A jusqu'à sa version 5.5.2 et
* + A == A + == à partir de sa version 6.0.0 ;
* A* ==*A == ;
* sum() == 0 et prod() == 1 ;
* det() == 0 ;
* inv() == ;
* cond() == 1.

### R

Le logiciel R permet de créer des matrices vides de toutes dimensions. Par exemple :

### Maxima

Le logiciel Maxima ne permet de créer que des matrices colonne $vides_{n,0}$ et la matrice carrée $vide_{0,0}$ :

Notez que matrix est la $matrice_{0,0}$ ; Maxima n'est pas cohérent puisque charpoly(A, x), 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 1 × 0. L'expression matrix() donne la matrice 1 × 1 qui contient le vecteur vide et qui, pour Maxima, est différente de matrix. La transposée d'une $matrice_{n,0}$ donne la $matrice_{0,0.}$

### Python

La librairie numpy permet de créer une matrice vide (ci dessous, la matrice se compose de 0 lignes et 5 colonnes)

