Defining sparse matrices

### 13.4.2 Defining sparse matrices

A matrix is sparse if most of its elements are 0. To specify a sparse matrix, it is easier to define the non-zero elements. This can be done with a table (see Section 13.4.1). The matrix command (see Section 13.2.4) or the convert command (see Section 9.1.10) can then turn the table into a matrix.

#### Example

First, define the non-zero elements.

A:=table((0,0)=1,(1,1)=2,(2,2)=3,(3,3)=4,(4,4)=5)

or:

purge(A); A[0..4,0..4]:=[1,2,3,4,5]

Key | Value
⎛ ⎝ | 0,0 | ⎞ ⎠
| 1
⎛ ⎝ | 1,1 | ⎞ ⎠
| 2
⎛ ⎝ | 2,2 | ⎞ ⎠
| 3
⎛ ⎝ | 3,3 | ⎞ ⎠
| 4
⎛ ⎝ | 4,4 | ⎞ ⎠
| 5

This table can be converted to a matrix with either the convert command or the matrix command.

a:=convert(A,array)

or:

a:=matrix(A)

⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ |
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
| ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦