---
tags: mth302
---
# Miniproject 8
**Initial due date: Sunday, April 9 at 11:59pm ET**
## Overview
Our final miniproject reaches back into linear algebra to look at *diagonalizable* matrices and their uses in solving systems of differential equations.
**Prerequisites:** You'll need to be able to solve basic systems of differential equations and find the eigenvalues and eigenvectors for a small matrix. You'll also need a basic comfort level with concepts of linear independence and matrix arithmetic from earlier in the course.
## Background
*This entire problem comes from Section 3.9.1 in your textbook. Here is a rephrased version of the introduction to that section.*
Some systems of differential equations are particularly easy to solve without using eigen "stuff" at all. Here is an example:
$$\begin{align*}
\frac{dx}{dt} &= 3x \\
\frac{dy}{dt} &= -2y
\end{align*}$$
This is easy because there is no $y$ in the $dx/dt$ equation and no $x$ in the $dy/dt$ equation. When this happens, we say that the system is **uncoupled** (or **decoupled**). This is not really a "system" because the independent variables don't interact; it's just two basic DE's, and easy ones at that, since they are linear and homogeneous. Our previous work allows is to solve these in one step (each):
$$x(t) = C_1e^{3t} \quad y(t) = C_2e^{-2t}$$
But, if we were to take the "system" above and write it in matrix form, we would have
$$\mathbf{x}'(t) = \begin{bmatrix} 3 & 0 \\ 0 & -2 \end{bmatrix}\mathbf{x}(t)$$
This is an example of a **diagonal matrix**: A matrix where all of the entries not on the main diagonal (going from the top-left to the bottom-right) are zero. Here is another example, this time a $4 \times 4$ diagonal matrix:
$$\begin{bmatrix} 3 & 0 & 0 & 0 \\ 0 & -1 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 5 \end{bmatrix}$$
(There can be zeroes on the diagonal; but there *must* be zeroes everywhere that is *not* on the diagonal.)
You can check that the $2 \times 2$ matrix that defined our system has eigenvalues of $\lambda_1 = 3$ and $\lambda_2 = -2$ --- just the entries on the diagonal. And an eigenvector corresponding to $\lambda_1$ is $[1,0]^T$, and an eigenvector corresponding to $\lambda_2$ is $[0,1]^T$, so if we were to set up the straight-line solutions and then the general solution to the system, we'd get $x(t) = C_1e^{3t}$ and $y(t) = C_2e^{-2t}$, same as when we did *not* use any matrices or eigenpairs.
So **solving a decoupled system, where the matrix is diagonal, is super easy**. If we could make every system decoupled, that would be amazing! Unfortunately we can't always do that. But in many cases we can get close, using a technique called **diagonalization** to rewrite the matrix that defines the system into something that is very close to a diagonal matrix. Diagonalization is a standard simplifying trick used throughout applications of linear algebra, and here we'll see how it can be used to solve systems of DEs.
## Assignment
1. Consider the matrix
$$A = \begin{bmatrix} 1 & 6 \\ 5 & 2 \end{bmatrix}$$
which is definitely not diagonal. Use a computer to find the eigenvalue/eigenvector pairs. Are the eigenvectors linearly dependent or linearly independent? Explain your reasoning fully.
2. Create a new matrix $D$ that is a $2 \times 2$ diagonal matrix whose diagonal entries are $\lambda_1$ and $\lambda_2$, the eigenvalues of $A$. Also create a $2 \times 2$ matrix $P$ whose columns are $\mathbf{v}_1$ and $\mathbf{v}_2$, the eigenvectors corresponding to $\lambda_1$ and $\lambda_2$. Show by direct computation that $AP = PD$.
3. Now let's generalize what we just saw. Let $A$ be a $2 \times 2$ matrix that has two *real-valued, linearly independent* eigenvectors $\mathbf{v}_1$ and $\mathbf{v}_2$. (In other words, assume that there are no complex numbers in the eigenvectors, and assume linear independence. If one of those assumptions fails, we'll deal with that later.) Suppose $\lambda_1$ is the real-number eigenvalue that corresponds to $\mathbf{v}_1$ and $\lambda_2$ is the real-number eigenvalue that corresponds to $\mathbf{v}_2$. As in the previous part, let $D$ and $P$ be the $2 \times 2$ diagonal matrices:
$$D = \begin{bmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{bmatrix} \qquad P = \left[ \mathbf{v}_1 \ \mathbf{v}_2 \right]$$
In specific, concrete terms (such as a direct computation that is explained briefly in English), explain the following:
(a) Why $AP = PD$
(b) Why $P$ is invertible
(c) Why $A = PDP^{-1}$
4. A real $2 \times 2$ matrix $A$ that has two real, linearly independent eigenvectors is called **diagonalizable** because we can "factor" it into $A = PDP^{-1}$ where $D$ is a diagonal matrix and $P$ is an invertible matrix; the $D$ matrix holds the eigenvalues on the diagonal and the $P$ matrix is made up of the eigenvectors (in the same order as the eigenvalues on the diagonal of $D$). In SymPy, generate a random $2 \times 2$ matrix (with entries between $-10$ and $10$). Is it diagonalizable? Explain why or why not. If it is not diagonalizable, generate another and keep doing this until you get a matrix that is diagonalizable. Then, *diagonalize* it by writing it in the form $A = PDP^{-1}$ as we've discussed here.
5. Diagonalization makes it much easier to solve systems of DE's, if you apply a trick. To see how this works in general, let $A$ be a $2 \times 2$ matrix that is diagonalizable. (Again, this means it has two real, linearly independent eigenvectors and so it can be written as $A = PDP^{-1}$ as discussed above.) Consider the system of DE's $\mathbf{x}' = A \mathbf{x}$. Let $\mathbf{y} = P^{-1}\mathbf{x}$.
(a) See the Notes section below for an explanation for why $\mathbf{x}' = P\mathbf{y}'$. Start with the system $\mathbf{x}' = A \mathbf{x}$ and use the substitution $\mathbf{y} = P^{-1}x$ and the fact that $A = PDP^{-1}$ to show that the original system $\mathbf{x}' = A \mathbf{x}$ is equivalent to the system $\mathbf{y}' = D \mathbf{y}$.
(b) Explain why the system $\mathbf{y}' = D \mathbf{y}$ is preferable to the system $\mathbf{x}' = A \mathbf{x}$.
6. Now apply the diagonalization trick from the previous item to solve the system $\mathbf{x}' = \begin{bmatrix} 1 & 6 \\ 5 & 2 \end{bmatrix} \mathbf{x}$ as follows:
(a) Diagonalize $A= \begin{bmatrix} 1 & 6 \\ 5 & 2 \end{bmatrix}$ by finding matrices $D$ and $P$ such that $A = PDP^{-1}$. (Note: You've done the math work already.)
(b) Follow your work from the previous question to introduce a substitution that will convert $\mathbf{x}' = A \mathbf{x}$ into an equivalent system in the variable $\mathbf{y}$ that is uncoupled and in the form $\mathbf{y}' = D \mathbf{y}$.
(c) Solve the uncoupled system for $\mathbf{y}$. Remember this is easy.
(d) Determine the solution $\mathbf{x}$ to the original system by showing that $\mathbf{x} = P \mathbf{y}$ and using this substitution appropriately.
## Notes on this Miniproject
In part 5, we introduce a trick by substituting $\mathbf{y} = P^{-1} \mathbf{x}$. We claim that with this substitution, $\mathbf{x}' = P \mathbf{y}'$. This is actually a more general result:
:::info
**Claim**: If $M$ is a $2 \times 2$ matrix whose entries are real numbers only (not functions), and $\mathbf{x}(t)$ is any vector function, then
$$\frac{d}{dt} \left[ M \mathbf{x} \right] = M \mathbf{x}'$$
This is the matrix-vector equivalent of the old-fashioned "constant multiple rule" from Calculus 1 that says $\frac{d}{dx}[k f(x)] = k f'(x)$ where $k$ is any constant.
**Proof**: Suppose $\mathbf{x}(t) = \begin{bmatrix} f(t) \\ g(t) \end{bmatrix}$ and $M = \begin{bmatrix} a & b \\ c & d \end{bmatrix}$. Then if you multiply these two, you get
$$M \mathbf{x} = \begin{bmatrix} af(t) + bg(t)\\ c f(t) + d g(t) \end{bmatrix}$$
If we then take the derivative of both sides, we have $\frac{d}{dt}[M \mathbf{x}]$ on the left and the following on the right:
$$\begin{bmatrix} af'(t) + bg'(t)\\ c f'(t) + d g'(t) \end{bmatrix}$$
This is because of the constant multiple rule in Calculus 1. But notice this is the same as
$$\begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} f'(t) \\ g'(t) \end{bmatrix}$$
which is equal to $M \mathbf{x}'$.
:::
So, if $\mathbf{y} = P^{-1} \mathbf{x}$, then multiply by $P$ on the left of both sides to get $P \mathbf{y} = \mathbf{x}$. Now take derivatives and "pull out the constant" (the matrix $P$) to get $\mathbf{x}' = P \mathbf{y}'$.
### Formatting and special items for grading
Please review the section on Miniprojects in the document [Standards For Student Work in MTH 302](https://github.com/RobertTalbert/linalg-diffeq/blob/main/course-docs/standards-for-student-work.md#standards-for-miniprojects) before attempting to write up your submission. Note that *all* Miniprojects:
- **Must be typewritten**. If any portion of the submission has handwritten work or drawings, it will be marked *Incomplete* and returned without further comment.
- **Must represent a good-faith effort at a complete, correct, clearly communicated, and professionally presented solution.** Omissions, partial work, work that is poorly organized or sloppily presented, or work that has numerous errors will be marked *Incomplete* and returned without further comment.
- **Must include clear verbal explanations of your work when indicated, not just math or code**. You can tell when verbal explanations are required because the problems say something like "Explain your reasoning".
Your work here is being evaluated *partially* on whether your math and code are correct; but just as much on whether your reasoning is correct and clearly expressed. Make sure to pay close attention to both.
This Miniproject **must be done in a Jupyter notebook using SymPy or another computer tool to carry out all mathematical calculations**. [A sample notebook, demonstrating the solution to a Calculus problem, can be found here](https://github.com/RobertTalbert/linalg-diffeq/blob/main/tutorials/Example_of_solution_in_a_notebook.ipynb). Study this first before writing up your work.
And please review the requirements above for including your code.
### How to submit
You will submit your work on Blackboard in the *Miniproject 8* folder under *Assignments > Miniprojects*. But you will *not* upload a PDF for Miniprojects. Instead you will **share a link that allows me (Talbert) to comment on your work**. [As explained in one of the Jupyter and Colab tutorials](https://gvsu.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=ef5c0e24-5c1d-437f-be05-af730108b6d8), the process goes like this:
1. In the notebook, click "Share" in the upper right.
2. **Do not share with me by entering my email.** Instead, go to *General Access*, and in the pulldown menu select "Anyone with the link", then set the permissions to "Commenter".
3. Then click "Copy Link".
4. **On Blackboard**, go to the *Assignments* area, then *Miniprojects*. Select Miniproject 5.
5. Under **Assignment Submission**, where it says *Text Submission*, click "Write Submission".
6. **Paste the link to your notebook in the text area that appears.**
7. Then click "Submit" to submit your work.
I will then evaluate your work using the link. Specific comments will be left on the notebook itself. General comments will be left on Blackboard.