 
 
 
Pour définir une matrice creuse i.e. une matrice de grande taille ayant 
peu de coefficients non nuls on peut tout d’abord définir une table puis on 
transforme cette table en une matrice par la commande matrix.
On tape :
A:=table((0,0)=1,(1,1)=2,(2,2)=3,(3,3)=4,(4,4)=5)
Ou plus simplement en utilisant une multi-affectation à condition que la 
variable soit purgée.
Ou on tape :
purge(A)
A[0..4,0..4]:=[1,2,3,4,5]
On obtient :
table((0,0)=1,(1,1)=2,(2,2)=3,(3,3)=4,(4,4)=5)
On tape :
purge(B)
B[0..3,1..4]:=[1,2,3,4];
On obtient :
table((0,1)=1,(1,2)=2,(2,3)=3,(3,4)=4)
On peut ajouter des éléments à cette table plus tard, éventuellement 
après avoir fait des opérations dessus.
On tape :
B [0..2,0]:=5
On obtient :
table((0,1)=1,(1,2)=2,(2,3)=3,(3,4)=4)
(0,0)=5,(0,1)=5,(0,2)=5
On convertit ensuite ces tables avec la fonction convert avec comme option
array ou avec la commande matrix.
Pour convertir une matrice en une table on utilise la commande table.
On tape :
a:=convert(A,array)
Ou on tape :
a:=matrix(A)
On obtient :
[[1,0,0,0,0],[0,2,0,0,0],[0,0,3,0,0],[0,0,0,4,0],[0,0,0,0,5]]
On tape :
b:=convert(B,array)
Ou on tape :
b:=matrix(B)
On obtient :
[[0,1,0,0,0],[0,0,2,0,0],[0,0,0,3,0],[0,0,0,0,4]]
On peut continuer à modifier B, on tape par exemple:
B[0..4,0]:=5
b:=convert(B,array) (ou b:=matrix(B)
On obtient :
[[5,1,0,0,0],[5,0,2,0,0],[5,0,0,3,0],[5,0,0,0,4],[5,0,0,0,0]]
On tape :
C:=table(b)
On a alors C==B.
 
 
