Link to this document's Jupyter Notebook

In order to successfully complete this assignment you must do the required reading, watch the provided videos and complete all instructions. The embedded survey form must be entirely filled out and submitted on or before 11:59pm on on the day before class. Students must come to class the next day prepared to discuss the material covered in this assignment.


Readings for this topic (Recommended in bold)

Pre-Class Assignment: Matrix Spaces

Goals for today's pre-class assignment

</p>

  1. Properties of Invertible Matrices
  2. The Basis of a Vector Space
  3. Change of Basis
  4. Assignment wrap-up

1. Review the Properties of Invertible Matrices

Let $A$ be an $n \times n$ matrix. The following statements are equivalent.

Consider the following example. We claim that the following set of vectors form a basis for $R^3$:

$$B = \{(2,1, 4), (-1,6, 0), (2, 4, -3) \}$$

Remember for these two vectors to be a basis they need to obay the following two properties:

  1. They must span $R^3$.
  2. They must be linearly independent.

Using the above statements we can show this is true in multiple ways.

The column vectors of $A$ form a basis for $R^n$

DO THIS: Define a numpy matrix A consisting of the vectors $B$ as columns:

$|A| \ne 0$

DO THIS: The first in the above properties tell us that if the vectors in $B$ are truly a basis of $R^3$ then $|A|=0$. Calculate the determinant of $A$ and store the value in det.

$A$ is invertible.

DO THIS: Since the determinant is non-zero we know that there is an inverse to A. Use python to calculate that inverse and store it in a matrix called A_inv

$A$ is row equivalent to $I_n$ (i.e. it's reduced row echelon form is $I_n$)

DO THIS: According to the property above the reduced row echelon form of an invertable matrix is the Identiy matrix. Verify using the python sympy library and store the reduced row echelone matrix in a variable called rref if you really need to check it.

The system of equations $Ax = b$ has a unique solution.

Let us assume some arbitrary vector $b \in R^n$. According to the above properties it should only have one solution.

DO THIS: Find the solution to $Ax=b$ for the vector $b=(-10,200,3)$. Store the solution in a variable called x

$rank(A) = n$

The final property says that the rank should equal the dimension of $R^n$. In our example $n=3$. Find a python function to calculate the rank of $A$. Store the value in a variable named rank to check your answer.

QUESTION (assignment-specific): Without doing any calculations (i.e. only using the above properties), how many solutions are there to $Ax=0$? What is(are) the solution(s)?

Put your answer to the above question here.


2. The Basis of a Vector Space

Let $U$ be a vector space with basis $B=\{u_1, \ldots, u_n\}$, and let $u$ be a vector in $U$. Because a basis "spans" the vector space, we know that there exists scalars $a_1, \dots, a_n$ such that:

$$ u = a_1u_1 + \dots + a_nu_n$$

Since a basis is a linearly independent set of vectors we know the scalars $a_1, \dots, a_n$ are unique.

The values $a_1, \dots, a_n$ are called the coordinates of $u$ relative to the basis ($B$) and is typically written as a column vector:

$$ u_B = \left[ \begin{matrix} a_1 \\ \vdots \\ a_n \end{matrix} \right] $$

We can create a transition matrix $P$ using the inverse of the matrix with the basis vectors being columns.

$$P = [ u_1 \ldots u_n ]^{-1}$$

Now we will show that matrix $P$ will transition vector $u$ in the standard coordinate system to the coordinates relative to the basis $B$:

$$ u_B = Pu$$

EXAMPLE: Consider the vector $u = \left[ \begin{matrix} 5 \\ 3 \end{matrix} \right]$ and the basis vectors $B = \{(1,2), (3,-1)\}$. The following code calculates the $P$ transition matrix from $B$ and then uses $P$ to calculate the values of $u_B$ ($a_1$ and $a_2$):

Here we would like to view this from $R^n$. Let $$B=[u_1 \dots u_n],$$ then the values of $u_B$ can be found by solving the linear system $$u = B u_B.$$ The columns of $B$ are a basis, therefore, the matrix $B$ is a $n\times n$ square matrix and it has an inverse. Therefore, we can solve the linear system and obtain $$u_B = B^{-1} u = Pu.$$

Let's try to visualize this with a plot:

Notice that the blue arrow represents the first basis vector and the green arrow is the second basis vector in $B$. The solution to $u_B$ shows 2 units along the blue vector and 1 units along the green vector, which puts us at the point (5,3).

This is also called a change in coordinate systems.

QUESTION: What is the coordinate vector of $u$ relative to the given basis $B$ in $R^3$?

$$u = (9,-3,21)$$$$B = \{(2,0,-1), (0,1,3), (1,1,1)\}$$

Store this coordinate in a variable ub for checking:

Let's look more closely into the matrix $P$, what is the meaning of the columns of the matrix $P$?

We know that $P$ is the inverse of $B$, therefore, we have $$BP=I.$$ Then we can look at the first column of the $P$, say $p_{1}$, we have that $Bp_1$ is the column vector $(1,0,0)^\top$, which is exactly the first component from the standard basis. This is true for other columns.

It means that if we want to change an old basis $B$ to a new basis $B'$, we need to find out all the coordinates in the new basis for the old basis, and the transition matrix is by putting all the coordinates as columns.

Here is the matrix $B$ again:

The first column of P should be the solution to $Bx=\left[ \begin{matrix} 1 \\ 0 \\ 0 \end{matrix} \right]$. We can use the numpy.linalg.solve function to find this solution:

We can find a similar answer for columns $p_2$ and $p_3$:

This should be basically the same answer as you got above.


3. Change of Basis

Now consider the following two bases in $R^2$:

$$B_1 = \{(1,2), (3,-1)\}$$$$B_2 = \{(3,1), (5,2)\}$$

The transformation from the "standard basis" to $B_1$ and $B_2$ can be defined as the column vectors $P_1$ and $P_2$ as follows:

DO THIS: Find the transition matrix $T$ that will take points in the $B_1$ coordinate representation and put them into $B_2$ coordinates. NOTE this is analogous to the robot kinematics problem. We want to represent points in a different coordinate system.

QUESTION: Given $u_{B_1} = \left[ \begin{matrix} 2 \\ 1 \end{matrix} \right]$ (a point named $u$ in the $B_1$ coordinate system) and your calculated transition matrix $T$, what is the same point expressed in the $B_2$ basis (i.e. what is $u_{B2}$)? Store your answer in a variable named ub2 for checking.

There are three bases $B_1$, $B_2$, and $B_3$. We have the transition matrix $P_{12}$ from $B_1$ to $B_2$ and the transition matrix $P_{23}$ from $B_2$ to $B_3$. In $R^n$, we can compute the transition matrix as $$P_{12}=B_2^{-1}B_1,\quad P_{23}=B_3^{-1}B_2$$

Then we can find all other transition matrices. $$P_{13} = B_3^{-1}B_1=B_3^{-1}B_2*B_2^{-1}B_1= P_{23}P_{12}$$ $$P_{21} = B_1^{-1}B_2 = (B_2^{-1}B_1)^{-1}=P_{12}^{-1}$$ $$P_{32} = B_2^{-1}B_3 = (B_3^{-1}B_2)^{-1}=P_{23}^{-1}$$ $$P_{31} = B_1^{-1}B_3 = (B_3^{-1}B_1)^{-1}=P_{13}^{-1}=(P_{23}P_{12})^{-1}=P_{12}^{-1}P_{23}^{-1}$$

The result is true for general vector spaces and can be extended to many bases.


4. Assignment wrap-up

Please fill out the form that appears when you run the code below. You must completely fill this out in order to receive credit for the assignment!

Direct Link to Google Form

If you have trouble with the embedded form, please make sure you log on with your MSU google account at googleapps.msu.edu and then click on the direct link above.

Assignment-Specific QUESTION: Without doing any calculations (i.e. only using the above properties), how many solutions are there to Ax=0? What is(are) the solution(s)?

Put your answer to the above question here

QUESTION: Summarize what you did in this assignment.

Put your answer to the above question here

QUESTION: What questions do you have, if any, about any of the topics discussed in this assignment after working through the jupyter notebook?

Put your answer to the above question here

QUESTION: How well do you feel this assignment helped you to achieve a better understanding of the above mentioned topic(s)?

Put your answer to the above question here

QUESTION: What was the most challenging part of this assignment for you?

Put your answer to the above question here

QUESTION: What was the least challenging part of this assignment for you?

Put your answer to the above question here

QUESTION: What kind of additional questions or support, if any, do you feel you need to have a better understanding of the content in this assignment?

Put your answer to the above question here

QUESTION: Do you have any further questions or comments about this material, or anything else that's going on in class?

Put your answer to the above question here

QUESTION: Approximately how long did this pre-class assignment take?

Put your answer to the above question here


Congratulations, we're done!

Course Resources:


Written by Dr. Dirk Colbry, Michigan State University Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.