2. 3 -  Stockage de K

Stockage   


La matrice $K$ peut être stockée de différentes façons, nous en présentons 2 :

${\color{mycolor}\triangleright }$ stockage plein : le plus simple mais le plus côuteux en mémoire,

${\color{mycolor}\triangleright }$ stockage Morse : moins naturel mais moins côuteux.   

les coefficients que l’on sait nuls ne sont pas stockés ;
pour chacun des coefficients pouvant être non nuls, on stocke :

  • les indices de la ligne et de la colonne dans un tableau d’entiers de 2 colonnes, par exemple $tij$,

  • la valeur du coefficient dans un tableau de réels, par exemple $Am$ ;
    ce qui donne ${\color{blue}Am(k)=A(\, tij(k,1)\, ,\, tij(k,2)\, )}$.

Remarque :

& un stockage tridiagonal et/ou symétrique est aussi approprié pour $K$ (mais peu pratique avec Scilab).

 
 

Exemple: $A$ stockée Morse dans $Am$ et $tij$,   

  \[ {\color{blue}Am(k)=A(\, tij(k,1)\, ,\, tij(k,2)\, )} \]    
  \[ A=\left( \begin{array}{cccc}{\color{blue}a}& 0& {\color{green}b}& 0\\ {\color{cyan}c}& {\color{magenta}d}& 0& {\color{brown}e}\\ 0& {\color{orang}f}& g& 0\\ 0& 0& 0& {\color{red}p}\end{array} \right),\;  tij=\left( \begin{array}{cc}{\color{blue}1}& {\color{blue}1}\\ {\color{green}1}& {\color{green}3}\\ {\color{cyan}2}& {\color{cyan}1}\\ {\color{magenta}2}& {\color{magenta}2}\\ {\color{brown}2}& {\color{brown}4}\\ {\color{orang}3}& {\color{orang}2}\\ 3& 3\\ {\color{red}4}& {\color{red}4}\end{array} \right), \;  Am=\left( \begin{array}{c}{\color{blue}a}\\ {\color{green}b}\\ {\color{cyan}c}\\ {\color{magenta}d}\\ {\color{brown}e}\\ {\color{orang}f}\\ g\\ {\color{red}p}\end{array} \right) \]