{ "cells": [ { "cell_type": "markdown", "metadata": { "nbpages": { "level": 0, "link": "[](https://jckantor.github.io/CBE30338/02.05-Hare-and-Lynx-Population-Dynamics.html)", "section": "" } }, "source": [ "\n", "*This notebook contains material from [CBE30338](https://jckantor.github.io/CBE30338);\n", "content is available [on Github](https://github.com/jckantor/CBE30338.git).*\n" ] }, { "cell_type": "markdown", "metadata": { "nbpages": { "level": 0, "link": "[](https://jckantor.github.io/CBE30338/02.05-Hare-and-Lynx-Population-Dynamics.html)", "section": "" } }, "source": [ "\n", "< [2.4 Continuous Product Blending](https://jckantor.github.io/CBE30338/02.04-Continuous-Product-Blending.html) | [Contents](toc.html) | [Tag Index](tag_index.html) | [2.6 Exothermic Continuous Stirred Tank Reactor](https://jckantor.github.io/CBE30338/02.06-Exothermic-CSTR.html) >
"
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "GZFOPAaKuBCU",
"nbpages": {
"level": 1,
"link": "[2.5 Hare and Lynx Population Dynamics](https://jckantor.github.io/CBE30338/02.05-Hare-and-Lynx-Population-Dynamics.html#2.5-Hare-and-Lynx-Population-Dynamics)",
"section": "2.5 Hare and Lynx Population Dynamics"
}
},
"source": [
"# 2.5 Hare and Lynx Population Dynamics\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbpages": {
"level": 2,
"link": "[2.5.1 Summary](https://jckantor.github.io/CBE30338/02.05-Hare-and-Lynx-Population-Dynamics.html#2.5.1-Summary)",
"section": "2.5.1 Summary"
}
},
"source": [
"## 2.5.1 Summary\n",
"\n",
"This notebook provides an introduction to nonlinear dynamics using a well-known model for the preditor-prey interaction of Snowshoe Hare and Canadian Lynx. Topics include limit cycles, the existence of multiple steady states, and simple phase plane analysis using nullclines. This notebook can be displayed as a slide presentation."
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "482JFcV_uBCW",
"nbpages": {
"level": 2,
"link": "[2.5.2 Introduction](https://jckantor.github.io/CBE30338/02.05-Hare-and-Lynx-Population-Dynamics.html#2.5.2-Introduction)",
"section": "2.5.2 Introduction"
}
},
"source": [
"## 2.5.2 Introduction\n",
"\n",
"[Snowshoe hare](https://en.wikipedia.org/wiki/Snowshoe_hare) (*Lepus americanus*) are the primary food for the [Canadian lynx](https://en.wikipedia.org/wiki/Canada_lynx) (*Lynx canadensis*) in the Northern boreal forests of North America. When hare are abundant, Lynx will eat hare about two every three days almost to the complete exclusion of other foods. As a consequence, the population dynamics of the two species are closely linked. \n",
"\n",
"| Canadian Lynx | Snowshoe Hare |\n",
"| :---: | :---: |\n",
"||  |\n",
"|kdee64 (Keith Williams) [CC BY 2.0](https://creativecommons.org/licenses/by/2.0), [via Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Canadian_lynx_by_Keith_Williams.jpg) | D. Gordon E. Robertson [CC BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0), [via Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Snowshoe_Hare,_Shirleys_Bay.jpg)|\n",
"\n",
"It has been known for over a century that the populations of the two species vary dramatically in cycles of 8 to 11 year duration. This chart, for example, shows pelt-trading data taken from the Hudson's Bay Company (from MacLulich, 1937. See important notes on this data in [Stenseth, 1997](http://www.pnas.org/content/94/10/5147.full))\n",
"\n",
"\n",
"\n",
"(CNX OpenStax [CC BY 4.0](https://creativecommons.org/licenses/by/4.0), [via Wikimedia Commons](https://commons.wikimedia.org/wiki/File:Figure_45_06_01.jpg))\n",
"\n",
"The actual cause of the cycling is still a matter of scientific inquiry. Hypotheses include the inherent instability of the preditor-prey dynamics, the dynamics of a more complex food web, and the role of climate (see [Zhang, 2007](http://www.int-res.com/articles/feature/c034p083.pdf)). The discussion in this notebook addresses the preditor-prey dynamics."
]
},
{
"cell_type": "markdown",
"metadata": {
"colab_type": "text",
"id": "OCZVhnPZuBCY",
"nbpages": {
"level": 2,
"link": "[2.5.3 Historical Data](https://jckantor.github.io/CBE30338/02.05-Hare-and-Lynx-Population-Dynamics.html#2.5.3-Historical-Data)",
"section": "2.5.3 Historical Data"
}
},
"source": [
"## 2.5.3 Historical Data\n",
"\n",
"A digitized version of the historical data is available from [D. R. Hundley at Whitman College](http://people.whitman.edu/~hundledr/courses/M250F03/M250.html). The following cell reads the data from the url, imports it into a pandas dataframe, and creates a plot. "
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 409
},
"colab_type": "code",
"id": "T5DYualXuBCZ",
"nbpages": {
"level": 2,
"link": "[2.5.3 Historical Data](https://jckantor.github.io/CBE30338/02.05-Hare-and-Lynx-Population-Dynamics.html#2.5.3-Historical-Data)",
"section": "2.5.3 Historical Data"
},
"outputId": "979898e0-7445-4703-917a-54694508be57"
},
"outputs": [
{
"data": {
"text/plain": [
"
"
]
}
],
"metadata": {
"colab": {
"name": "Hare and Lynx Population Dynamics.ipynb",
"provenance": [],
"toc_visible": true,
"version": "0.3.2"
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
}
},
"nbformat": 4,
"nbformat_minor": 4
}