Monarch Population Model: Exploration and Analysis
Summary
The Monarch Population Model is a two-part activity designed for a first course in linear algebra. Students discover and explore the model in Part 1 and analyze the model using eigenvalues/eigenvectors in Part 2. In Part 1, students use survival and reproduction data (in statement form) to formulate a population stage-matrix model (using a Leslie matrix) in the form of a difference equation. Students then utilize MATLAB to generate model data and explore outcomes. In Part 2, students explore the connection between dynamical systems and eigenvalues/eigenvectors to explain the long-term outcomes of the model from Part 1.
Learning Goals
Learning Goals for Part 1: Modeling the Monarch Population Using Matrices
- Construct, utilize, and interpret a matrix-based population model using concepts from linear algebra.
- Learn how to use MATLAB to generate model data, create visualizations, and draw conclusions.
- Explore how changes in survival rates affect long-term outcomes according to the model.
- Apply newly acquired knowledge of this modeling approach to an example of one's choosing.
Learning Goals for Part 2: Analysis of the Monarch Population Matrix Model
- Discover the relationships between eigenvectors/eigenvalues and long-term outcomes of the Monarch population model by using MATLAB to generate and examine model data.
- Explain these relationships using the language and theory of linear algebra.
- Exactly determine the critical survival rate for a given life-stage using linear algebra.
- Apply this analysis to explain the long-term outcomes of another species of choice using this population model.
In both parts, students write their solutions in complete sentences, focusing on effectively communicating the process and their conclusions. Additionally, another goal is that after completing the two parts of this activity, students are motivated and prepared to read the source paper for this model, exposing them to research in mathematics early in their undergraduate career.
Context for Use
This two-part activity is for use in an undergraduate linear algebra course. Part 1, Modeling the Monarch Population Using Matrices, should be introduced early in the semester, as an early example of an application in linear algebra and early practice using MATLAB. The instructor can refer back to this activity to motivate the study of eigenvalues later in the semester and then introduce Part 2, Analysis of the Monarch Population Matrix Model, once students know about eigenvalues/eigenvectors, what it means for a matrix to be diagonalizable, and have seen a few examples of dynamical systems. The two activity parts can be implemented during class times or assigned as out-of-class projects (or started in class and finished as homework). See teaching notes for additional details.
Description and Teaching Materials
Students complete this activity using a live script in MATLAB. MATLAB was chosen as the default software for this activity because the model is entirely written in terms of matrix/vector variables and only involves matrix-vector multiplication, making it easy to translate it directly into MATLAB commands for students with no previous programming experience. However, instructors could implement this activity using other programming languages such as Python and utilize an accompanying interactive code format, such as a Jupyter Notebook.
Description of Included Files
- Part 1: Modeling the Monarch Population Using Matrices
- pdf of activity: monarch_population_activity_part1.pdf (Acrobat (PDF) 137kB Sep26 25)
- LaTeX file for instructor to adapt/modify: monarch_population_activity_part1.tex ( 8kB Sep26 25)
- MATLAB live script template for Part 1: monarch_population_model.mlx (MATLAB Live Script 4kB Sep24 25)
- Solutions for Part 1 (protected):
- Part 2: Analysis of the Monarch Population Matrix Model
- pdf of activity: monarch_population_activity_part2.pdf (Acrobat (PDF) 128kB Oct27 25)
- LaTeX file for instructor to adapt/modify: monarch_population_activity_part2.tex ( 8kB Sep26 25)
- MATLAB live script template for Part 2: monarch_population_analysis.mlx (MATLAB Live Script 4kB Sep26 25)
- Solutions for Part 2 (protected):
- Sample supplemental material for the instructor regarding preparation/background for Part 2: Preparation_material_Part2.pdf (Acrobat (PDF) 1.2MB Oct27 25)
- To compile the LaTeX files, you must download the package mcode.sty (links to MATLAB Central File Exchange)
Teaching Notes and Tips
The Monarch Population Model 2-part activity is written in discovery-style. Students discover and explore the model in Part 1 and then discover the role eigenvalues/eigenvectors play in analyzing the model in Part 2. You will notice that the activities do not include terms like Leslie matrix, Perron-Frobenius Theorem, etc. Indeed, we do not even formally mention dynamical system in Part 1. This is in effort to preserve the discovery process for the student.
Part 1
Preparation
Part 1 can be assigned/implemented early in a first course in linear algebra (usually starting in Weeks 2-3). To complete Part 1, students need to know the following
- Equivalence of a linear system of equations and its matrix-vector formulation.
- How to perform matrix-vector multiplication.
- In MATLAB: They should be able to create matrix and vector variables, perform matrix-vector multiplication, access/change entries of variables, and basic use of the plot command. They also should be familiar with using a live script for coding, writing text, and typesetting equations.
- Exposure to a few examples involving difference equations through examples in class, a few assigned homework problems, or a short reading assignment from a relevant section in the course textbook in an early applications section. For example, assigning pp. 89-90 in Section 1.10 of Linear Algebra and its Applications (6th ed.) by Lay et al. provides sufficient exposure.
Implementation
Introduce this activity as soon as you can in your course schedule. You can use Part 1 as a companion assignment for an early lesson on linear algebra applications, or in place of an early section on linear algebra applications. There are multiple ways to implement Part 1:
- In-class activity: Have students work in groups and then complete the formal write-up after class. Break-up group work for class discussion as needed. Have students finalize the write-up and complete the final problem on their own to reinforce the lesson.
- Start in-class, finish as homework: Start it in class, completing problems 1–4 (discovering and setting up the model), and then assign the remaining problems as homework. You could also choose to introduce or review some basic MATLAB commands during the first half of class and start this activity in the second half of class.
- Assign it as a project to be completed entirely outside of class. For large classes, consider assigning in pairs to encourage discussion and collaboration. Encourage students to check-in with the instructor or a TA to ensure they have the correct model set-up after completing problem 3 before proceeding.
Problem 9 is optional, and has students using AI to help them formulate and explore another matrix population model example. Remind them that they must provide sources for the background of their chosen species and parameter values of their example ("AI told me so" is not sufficient). Encourage students to be creative and clear when presenting their example.
Part 2
Preparation
The second part of the Monarch Population Model focuses on how eigenvalues and eigenvectors determine the long-term behavior of a dynamical system. At this point, students should know
- Definitions of eigenvalues and eigenvectors, and how to find them (both by hand and using MATLAB).
- What it means for a matrix to be diagonalizable and how to diagonalize a matrix (both by hand and using MATLAB).
- A little bit about complex-valued eigenvalues: It is enough to know that (1) sometimes eigenvalues are complex, (2) complex eigenvalues (and their eigenvectors) come in conjugate pairs, and (3) if a matrix has $n$ distinct eigenvalues (with some complex), it is diagonalizable over $\mathbb{C}^n$.
- It is helpful for students to have a little more experience with dynamical systems before beginning this project. This could be an entire class day devoted to dynamical systems or a few examples and homework problems incorporated into class periods focused on eigenvalues/eigenvectors and diagonalization.
Included under materials in the file Preparation_material_Part2.pdf include two motivating examples and two assigned homework problems related to dynamical systems that the author has used to prepare students for this project. This would be the minimum amount of background students need (making this activity very much a discovery/learning exercise, rather than an implementation/reinforcement exercise). Instructors should use their judgment on the appropriate amount of preparation so that Part 2 of the activity is reasonably challenging yet accessible.
Implementation
With sufficient preparation/background, this activity can be assigned as an out-of-class project/assignment. For large classes, you might consider assigning this activity in pairs to encourage students to talk and collaborate with one another. Alternately, you might begin this activity in class, completing problems 1-3 together, and then assign problems 4-10 as homework. For instructors who weren't originally intending to cover complex eigenvalues, consider doing a mini-lesson on complex eigenvalues for half a class period, and then work on problems 1-3 in Part 2.
Note that Problem 10 is optional, useful for reinforcing/practicing newly acquired knowledge, and relies on students having completing Problem 9 in part 1.
Suggestions for Follow-up
Once students complete Part 2 of the Monarch Population Model, the instructor might consider
- Sharing the source paper for the Monarch Population Model (see resources). Encourage students to read this paper and see how the ideas of the basic model they have been working with can be extended to a more complex model in effort to answer scientific research questions. This is a great way to introduce research in mathematics early in a student's studies. You might also consider assigning a summary of the paper for bonus points.
- Doing a more in-depth exploration of Leslie Matrices and population modeling.
- Continue studying other applications involving eigenvalues: Part 2 is a great introduction to the Power Method, an iterative method used to estimate the dominant eigenvalue of a matrix. Markov Chains are another great difference equation application.
Assessment
If you want to emphasize writing and synthesis of the ideas in each activity, have students include a 2-paragraph introduction and 1 paragraph conclusion in their live script.
A sample rubric for each part is provided below. Problems are grouped based on the relevant learning objectives listed for each part (see the number listed next the criteria). These rubrics include a category for a written introduction and conclusion.
- Part 1 Rubric: Monarch_Part1_Rubric.pdf (Acrobat (PDF) 40kB Oct27 25)
- Part 2 Rubric: Monarch_Part2_Rubric.pdf (Acrobat (PDF) 42kB Oct27 25)
References and Resources
The model in these activities is a simplification of the model presented in the paper below, utilizing the data from summer to construct the Leslie matrix. Students should be encouraged to read this source paper after they complete both parts of this activity.
Hunt E, Tongen A. A periodic matrix population model for monarch butterflies. Natural Resource Modeling. 2017; 30:e12123 https://doi.org/10.1111/nrm.12123.
The author uses the following textbook for their linear algebra course. This textbook does motivate the study of eigenvalues/eigenvectors with an owl population model example (see the opening for chapter 5), which provides students with a nice review of the matrix-population model.
Lay, David C., Steven R. Lay, and Judi J. McDonald. Linear Algebra and Its Applications. 6th ed., Pearson, 2021.
However, this activity should be compatible with most other undergraduate linear algebra textbooks.