Protected: Linear Algebra, Section 6.2
Protected: Calculus 3, Section 5.5
Protected: Linear Algebra, Section 6.1
Protected: Calculus 3, Section 5.4
Protected: Linear Algebra – Complex Eigenvalues
Protected: Calculus 3, Section 5.3
Protected: Calculus 3, Section 5.2
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
– Line 2 defines a diagonal matrix that is the matrix of our transformation in the basis determined by the columns of
.
– Line 3 defines
– Line 4 shows us the matrix .
If you wanted Sage to show the matrix , 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 ?
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!