4.5 Matrices creuses

Les représentations dites ``creuses'' des matrices consistent à ne coder que leurs éléments non nuls. En Scilab, le stockage d'une matrice creuses de taille (m,n) est effectué de la façon suivante. Un tableau de taille m contient des pointeurs vers des descripteurs de lignes. Chaque descripteur de ligne est codé au moyen de deux tableaux, le premier contient les indices des colonnes qui contiennent des éléments non nuls et le deuxième tableau contient les valeurs associées. Certains problèmes qui, décrits sous forme pleine, ne pourraient être stockés en mémoire par Scilab se trouvent accessibles sous forme creuse. Ceci se fait bien évidemment avec une perte d'efficacité en terme de temps de calcul. La fonction de base pour construire des matrices creuses est la fonction sparse. Seules les matrices de scalaire et les matrices de booléens disposent de la possibilité d'une représentation creuse dans Scilab.


\begin{sessioncmd}
\par -->A=sprand(100,100,0.1); \sleftarrow{\normalfont une ma...
...{\normalfont temps de calcul de l'inverse}
ans =
\par0.26
\par\end{sessioncmd}