## Linear Algebra – First Matrix Computations with Sage

Here is a short overview for doing matrix manipulations online using the Sage framework. For more information, see my Sage information page.

For short computations, I recommend using the SageCellServer. Here you can type in a few lines of code, hit “evaluate”, and see the result.

To get started, try this code:

```2+3
```

When you hit “evaluate” you should see the result: `5`.

Now try this code:

```A = matrix([[1,2],[3,4]])
show(A)
```

The first line tells the computer what `A` is. The second line tells the computer to show you what `A` is. What should happen if you only put in the first line? Try it out?

Now let’s compute the inverse of matrix `A`. We use the following code.

```A = matrix([[1,2],[3,4]])
B = A.inverse()
show(B)
```

Line 1 defines the matrix `A`.
Line 2 defines the matrix `B` as being equal to the inverse of `A`.
The way we do this is by attaching the inverse function to the matrix `A`. The dot (period) is the “attaching” operation in Sage.
Line 3 shows the matrix `B`.

Here is a more “efficient” way to do the same thing:

```A = matrix([[1,2],[3,4]])
show( A.inverse() )
```

Here is a more complicated piece of code:

```S = matrix([[1,-1],[2,2]])
D = matrix([[2,0],[0,3]])
A = S*D*S.inverse()
show(A)
```

Let’s unpack what this is doing:
– Line 1 defines a change of coordinate matrix $S$
– Line 2 defines a diagonal matrix $D$ that is the matrix of our transformation in the basis determined by the columns of $S$.
– Line 3 defines $A = SDS^{-1}$
– Line 4 shows us the matrix $A$.
If you wanted Sage to show the matrix $S$, what would you do?

Finally, let me mention the `.eigenvectors_right()` command. This command takes in a matrix and gives out a list of:
– eigenvalues, eigenvectors, and the multiplicity
For example:

```S = matrix([[1,-1],[2,2]])
D = matrix([[2,0],[0,3]])
A = S*D*S.inverse()
show( A.eigenvectors_right() )
```

Does the result make sense, based on the way that we constructed the matrix $A$?

Important note: While it is useful to be able to have a computer do these computations, it is also important to be able to do the computations by hand!