diff --git a/_sources/authors.ipynb b/_sources/authors.ipynb index 37d1b06..f9b191c 100644 --- a/_sources/authors.ipynb +++ b/_sources/authors.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "c59a64e3", + "id": "e25d3966", "metadata": {}, "source": [ "# Authors\n", diff --git a/_sources/chp0.ipynb b/_sources/chp0.ipynb index 99ef1bf..5868fd5 100644 --- a/_sources/chp0.ipynb +++ b/_sources/chp0.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "0df114f3", + "id": "2a4cf367", "metadata": {}, "source": [ "# Chapter 0: Directed Graphs\n", diff --git a/_sources/chp1-directed-graphs.ipynb b/_sources/chp1-directed-graphs.ipynb index c331731..ddd2fea 100644 --- a/_sources/chp1-directed-graphs.ipynb +++ b/_sources/chp1-directed-graphs.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "78e9f582", + "id": "f5d9e076", "metadata": {}, "source": [ "# Chapter 1: Data\n", @@ -93,7 +93,7 @@ { "cell_type": "code", "execution_count": null, - "id": "3aaafd56", + "id": "4e425b15", "metadata": {}, "outputs": [], "source": [ @@ -108,7 +108,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8399a273", + "id": "241a090a", "metadata": {}, "outputs": [], "source": [ @@ -120,7 +120,7 @@ }, { "cell_type": "markdown", - "id": "f9f1a0d4", + "id": "93789b43", "metadata": {}, "source": [ "## 1.3 On the importance of finding the right abstractions \n", diff --git a/_sources/chp2-dwd.ipynb b/_sources/chp2-dwd.ipynb index a0e1130..bfd2806 100644 --- a/_sources/chp2-dwd.ipynb +++ b/_sources/chp2-dwd.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "ea937f41", + "id": "2416d6ba", "metadata": {}, "source": [ "# Chapter 2: Dynamical Systems with Kiki and Bouba\n", @@ -141,7 +141,7 @@ }, { "cell_type": "markdown", - "id": "9eeb42bb", + "id": "4456b7b5", "metadata": {}, "source": [ "```{code}\n", @@ -165,7 +165,7 @@ }, { "cell_type": "markdown", - "id": "2771ee05", + "id": "89561284", "metadata": {}, "source": [ "To simulate the code, we need to provide an **initial state (starting state)** for the bulb which will then get updated at every time instant as per the above update rule!" @@ -173,7 +173,7 @@ }, { "cell_type": "markdown", - "id": "5e8adcfc", + "id": "3e3f238a", "metadata": {}, "source": [ "```{code}\n", @@ -185,7 +185,7 @@ }, { "cell_type": "markdown", - "id": "8337fd9c", + "id": "f15558b8", "metadata": {}, "source": [ "The simulation results are exported as an animation showing that our simulation works (using Javis library) as shown below!\n", @@ -243,7 +243,7 @@ }, { "cell_type": "markdown", - "id": "c07ce82f", + "id": "481e5ca6", "metadata": {}, "source": [ "```{code}\n", @@ -267,7 +267,7 @@ }, { "cell_type": "markdown", - "id": "c42bea56", + "id": "cc86e785", "metadata": {}, "source": [ "```{code}\n", @@ -282,7 +282,7 @@ }, { "cell_type": "markdown", - "id": "744bad43", + "id": "9b2cfe41", "metadata": {}, "source": [ "Animating the simulation results produces a result as below:\n", @@ -441,7 +441,7 @@ }, { "cell_type": "markdown", - "id": "ccc962ff", + "id": "efd97d72", "metadata": {}, "source": [ "```{code}\n", @@ -471,7 +471,7 @@ }, { "cell_type": "markdown", - "id": "de029602", + "id": "ac93ee2b", "metadata": {}, "source": [ "We need to set the inital states carefully (in a meaningful way)! We set the controller to begin in `ON` for the RED light state and `OFF` for the other two lights (3 states for the controller). For the three light bulbs, we set RED to be `OFF`, GREEN to be `OFF`, and YELLOW to be `ON`. So in the next instant in time, controller will send it current state (RED) to the respective light bulbs and move to the next state of GREEN." @@ -479,7 +479,7 @@ }, { "cell_type": "markdown", - "id": "2bea800d", + "id": "80e594cc", "metadata": {}, "source": [ "```{code}\n", @@ -492,7 +492,7 @@ }, { "cell_type": "markdown", - "id": "61bf4b06", + "id": "296f007c", "metadata": {}, "source": [ "Simulation of the results creates the following animation of traffic light! We got our initial states right!!\n", @@ -610,7 +610,7 @@ }, { "cell_type": "markdown", - "id": "ccc3533a", + "id": "2ba813f1", "metadata": {}, "source": [ "```{code}\n", @@ -629,7 +629,7 @@ }, { "cell_type": "markdown", - "id": "b380d98f", + "id": "175f06e0", "metadata": {}, "source": [ "We set the initial mood of Kiki to 4.5 and Bouba to be -4.5. We set their calmdown rates to be 5% (0.05) for Kiki and 3% (0.03) for Bouba." @@ -637,7 +637,7 @@ }, { "cell_type": "markdown", - "id": "e5737744", + "id": "1e1460c5", "metadata": {}, "source": [ "```{code}\n", @@ -650,7 +650,7 @@ }, { "cell_type": "markdown", - "id": "0627b005", + "id": "69ec2b01", "metadata": {}, "source": [ "Are you ready to visualize their mood change when they are by themselves?\n", @@ -723,7 +723,7 @@ }, { "cell_type": "markdown", - "id": "04987fc0", + "id": "1b679098", "metadata": {}, "source": [ "```{code}\n", @@ -746,7 +746,7 @@ }, { "cell_type": "markdown", - "id": "9e398cac", + "id": "c6bf22a5", "metadata": {}, "source": [ "It's time for visualization of change in mood! :) Let us set the initial mood of Kiki and Bouba, their susceptability factors, and their tolerance levels." @@ -754,7 +754,7 @@ }, { "cell_type": "markdown", - "id": "a0bc665d", + "id": "af0a9116", "metadata": {}, "source": [ "```{code}\n", @@ -775,7 +775,7 @@ }, { "cell_type": "markdown", - "id": "665259c3", + "id": "37e0089d", "metadata": {}, "source": [ "Here is the plot showing how Kiki and Bouba's moods oscillate over a 100 minutes conversation! They seem to struggle for the first 30 minutes with Kiki losing her excitement steadily. However, their moods meet somewhere above zero and they happily seem to resonate at their maximum excitement levels from there on!\n", @@ -860,7 +860,7 @@ }, { "cell_type": "markdown", - "id": "a01849ac", + "id": "3d856d3b", "metadata": {}, "source": [ "```{code}\n", @@ -879,7 +879,7 @@ }, { "cell_type": "markdown", - "id": "4a62002a", + "id": "f27df9b2", "metadata": {}, "source": [ "The change in mood level of Kiki, Bouba, and Bouba's crew over 100 minutes!\n", diff --git a/_sources/chp3-schemas.ipynb b/_sources/chp3-schemas.ipynb index 3b96f51..17c7655 100644 --- a/_sources/chp3-schemas.ipynb +++ b/_sources/chp3-schemas.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "bb30a4cd", + "id": "eae55c4f", "metadata": {}, "source": [ "# Chapter 3: Blueprints - Part I\n", @@ -128,7 +128,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5587bb03", + "id": "a1b84706", "metadata": {}, "outputs": [], "source": [ @@ -145,7 +145,7 @@ }, { "cell_type": "markdown", - "id": "a9369000", + "id": "76a7cf69", "metadata": {}, "source": [ "And that's how AlgebraicJulia sees a directed graph to be! \n", diff --git a/_sources/chp4-schemas-part2.ipynb b/_sources/chp4-schemas-part2.ipynb index c23d903..689d213 100644 --- a/_sources/chp4-schemas-part2.ipynb +++ b/_sources/chp4-schemas-part2.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "f1157063", + "id": "ee54fe96", "metadata": {}, "source": [ "# Chapter 4: Blueprints - Part II\n", @@ -162,7 +162,7 @@ { "cell_type": "code", "execution_count": null, - "id": "bd6ec891", + "id": "0c6ac29f", "metadata": {}, "outputs": [], "source": [ @@ -178,7 +178,7 @@ }, { "cell_type": "markdown", - "id": "10febfff", + "id": "3eea587f", "metadata": {}, "source": [ "And that's how reflexive graphs can be defined in AlgebraicJulia! In the next chapter we'll see how to put this definition to use.\n", @@ -267,7 +267,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5770f04e", + "id": "993bd169", "metadata": {}, "outputs": [], "source": [ @@ -285,7 +285,7 @@ }, { "cell_type": "markdown", - "id": "7453c077", + "id": "e793d7c9", "metadata": {}, "source": [ ":::{admonition} Pause and Ponder! \n", diff --git a/_sources/chp5-graph-relationships.ipynb b/_sources/chp5-graph-relationships.ipynb index 00a5e37..f704381 100644 --- a/_sources/chp5-graph-relationships.ipynb +++ b/_sources/chp5-graph-relationships.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "adf06dd0", + "id": "5808bfc9", "metadata": {}, "source": [ "# Chapter 5: Categories\n", @@ -415,7 +415,7 @@ { "cell_type": "code", "execution_count": null, - "id": "506da169", + "id": "af76a151", "metadata": {}, "outputs": [], "source": [ @@ -435,7 +435,7 @@ }, { "cell_type": "markdown", - "id": "ef1bb706", + "id": "1f33de9f", "metadata": {}, "source": [ ":::{admonition} Puzzle 3 Solution:\n", @@ -467,7 +467,7 @@ { "cell_type": "code", "execution_count": null, - "id": "57642b1d", + "id": "57e1f75a", "metadata": {}, "outputs": [], "source": [ @@ -484,7 +484,7 @@ }, { "cell_type": "markdown", - "id": "7e1e2605", + "id": "afa9bd24", "metadata": {}, "source": [ ":::{admonition} Puzzle 4 Solution:\n", @@ -508,7 +508,7 @@ { "cell_type": "code", "execution_count": null, - "id": "5f2fb2fd", + "id": "d894bafe", "metadata": {}, "outputs": [], "source": [ @@ -517,7 +517,7 @@ }, { "cell_type": "markdown", - "id": "4271bc30", + "id": "b19256a4", "metadata": {}, "source": [ ":::{admonition} Puzzle 5 Solution:\n", @@ -551,7 +551,7 @@ { "cell_type": "code", "execution_count": null, - "id": "075c853f", + "id": "7bc6c0eb", "metadata": {}, "outputs": [], "source": [ @@ -569,7 +569,7 @@ }, { "cell_type": "markdown", - "id": "e8ea2f9f", + "id": "3e60e99e", "metadata": {}, "source": [ ":::{admonition} Puzzle 6 Solution:\n", @@ -586,7 +586,7 @@ { "cell_type": "code", "execution_count": null, - "id": "f3010222", + "id": "7735a9b2", "metadata": {}, "outputs": [], "source": [ @@ -604,7 +604,7 @@ }, { "cell_type": "markdown", - "id": "657d6a00", + "id": "e1d84f18", "metadata": {}, "source": [ ":::{admonition} Puzzle 7 Solution:\n", diff --git a/_sources/chp6-graph-gluing.ipynb b/_sources/chp6-graph-gluing.ipynb index 5fbc659..cae048f 100644 --- a/_sources/chp6-graph-gluing.ipynb +++ b/_sources/chp6-graph-gluing.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "bcf97697", + "id": "151285b8", "metadata": {}, "source": [ "# Chapter 6: Combining Graphs\n", @@ -710,7 +710,7 @@ { "cell_type": "code", "execution_count": null, - "id": "af08879a", + "id": "184fe330", "metadata": {}, "outputs": [], "source": [ @@ -754,7 +754,7 @@ }, { "cell_type": "markdown", - "id": "5cbbbec6", + "id": "71af19f7", "metadata": {}, "source": [ "Use the code cell at the end of the section to visualize `graph A` and `graph B`.\n", @@ -766,7 +766,7 @@ { "cell_type": "code", "execution_count": null, - "id": "d3d1dcd2", + "id": "fba24c56", "metadata": {}, "outputs": [], "source": [ @@ -807,7 +807,7 @@ }, { "cell_type": "markdown", - "id": "a026f7b9", + "id": "4b00f4e4", "metadata": {}, "source": [ "Use the code cell at the end of the section to visualize `graph A` and `graph B`.\n", @@ -818,7 +818,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a77981f5", + "id": "a8b38e48", "metadata": {}, "outputs": [], "source": [ @@ -842,7 +842,7 @@ }, { "cell_type": "markdown", - "id": "e270ea26", + "id": "bcfa54ed", "metadata": {}, "source": [ "Use the code cell below to visualize `graph A` and `graph B`." @@ -851,7 +851,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b24184be", + "id": "0676fbf4", "metadata": {}, "outputs": [], "source": [ @@ -866,7 +866,7 @@ }, { "cell_type": "markdown", - "id": "94a5474d", + "id": "c550da8c", "metadata": {}, "source": [ "## 6.6 Summary \n", diff --git a/_sources/chp7-dpo.ipynb b/_sources/chp7-dpo.ipynb index 5de1f57..7e1e09c 100644 --- a/_sources/chp7-dpo.ipynb +++ b/_sources/chp7-dpo.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "239cf89d", + "id": "2bf66819", "metadata": {}, "source": [ "# Chapter 7: Evolving Graphs\n", @@ -901,7 +901,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cf72a6db", + "id": "30b1a56e", "metadata": {}, "outputs": [], "source": [ @@ -925,7 +925,7 @@ { "cell_type": "code", "execution_count": null, - "id": "14372724", + "id": "328fbe3d", "metadata": {}, "outputs": [], "source": [ @@ -938,7 +938,7 @@ }, { "cell_type": "markdown", - "id": "935dc03a", + "id": "0a2be44f", "metadata": {}, "source": [ "### Is this a pushout complement?\n", @@ -962,7 +962,7 @@ { "cell_type": "code", "execution_count": null, - "id": "8b127d41", + "id": "c139ddbb", "metadata": {}, "outputs": [], "source": [ @@ -987,7 +987,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0eaf2361", + "id": "b4277f9d", "metadata": {}, "outputs": [], "source": [ @@ -997,7 +997,7 @@ }, { "cell_type": "markdown", - "id": "23b3693f", + "id": "9bdd39e9", "metadata": {}, "source": [ ":::{admonition} Example 3\n", @@ -1019,7 +1019,7 @@ { "cell_type": "code", "execution_count": null, - "id": "e7c853c9", + "id": "4e013f25", "metadata": {}, "outputs": [], "source": [ @@ -1045,7 +1045,7 @@ { "cell_type": "code", "execution_count": null, - "id": "94683df0", + "id": "5b9cd6b5", "metadata": {}, "outputs": [], "source": [ @@ -1055,7 +1055,7 @@ }, { "cell_type": "markdown", - "id": "ee456594", + "id": "807bc090", "metadata": {}, "source": [ "### Computing double-pushouts\n", @@ -1076,7 +1076,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a5cabf35", + "id": "7590f4ad", "metadata": {}, "outputs": [], "source": [ @@ -1096,7 +1096,7 @@ }, { "cell_type": "markdown", - "id": "32471b09", + "id": "d41c7d7d", "metadata": {}, "source": [ ":::{admonition} Puzzle 7 (continued from Puzzle 5 )\n", @@ -1113,7 +1113,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dcf26c37", + "id": "d7f01755", "metadata": {}, "outputs": [], "source": [ @@ -1130,7 +1130,7 @@ }, { "cell_type": "markdown", - "id": "7e8b7aea", + "id": "afa9a0d6", "metadata": {}, "source": [ ":::{admonition} Puzzle 6\n", @@ -1147,7 +1147,7 @@ { "cell_type": "code", "execution_count": null, - "id": "c6880d26", + "id": "b18a57ec", "metadata": {}, "outputs": [], "source": [ @@ -1177,7 +1177,7 @@ }, { "cell_type": "markdown", - "id": "156763d2", + "id": "7ca05ca6", "metadata": {}, "source": [ ":::{admonition} Puzzle 8 (continued from Puzzle 6 )\n", @@ -1195,7 +1195,7 @@ { "cell_type": "code", "execution_count": null, - "id": "0dbcf018", + "id": "04515eaa", "metadata": {}, "outputs": [], "source": [ @@ -1213,7 +1213,7 @@ }, { "cell_type": "markdown", - "id": "4060b98d", + "id": "3fb9f003", "metadata": {}, "source": [ " \n", diff --git a/_sources/chp8-dpo-application.ipynb b/_sources/chp8-dpo-application.ipynb index 9f3b9a7..639cd8a 100644 --- a/_sources/chp8-dpo-application.ipynb +++ b/_sources/chp8-dpo-application.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "markdown", - "id": "cbdba998", + "id": "1a65efdf", "metadata": {}, "source": [ "# Chapter 8: A Look Beyond -- Evolving World Models\n", @@ -49,7 +49,7 @@ { "cell_type": "code", "execution_count": null, - "id": "42af81ff", + "id": "397b181e", "metadata": {}, "outputs": [], "source": [ @@ -72,7 +72,7 @@ }, { "cell_type": "markdown", - "id": "fcc312d2", + "id": "24f60e72", "metadata": {}, "source": [ "```{image} assets/Ch8/Sch3DShape.svg\n", @@ -148,7 +148,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a69326c0", + "id": "d4020228", "metadata": {}, "outputs": [], "source": [ @@ -197,7 +197,7 @@ }, { "cell_type": "markdown", - "id": "0e5727b7", + "id": "82cd51e3", "metadata": {}, "source": [ "This instance defines a box that looks like _Fig. 1_. \n", @@ -366,7 +366,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b406de1e", + "id": "346f1b6e", "metadata": {}, "outputs": [], "source": [ @@ -407,7 +407,7 @@ }, { "cell_type": "markdown", - "id": "03310b50", + "id": "3f996fe9", "metadata": {}, "source": [ "```{image} assets/Ch8/SchKitchen.svg\n", @@ -423,7 +423,7 @@ { "cell_type": "code", "execution_count": null, - "id": "281309f2", + "id": "696b2e68", "metadata": {}, "outputs": [], "source": [ @@ -447,7 +447,7 @@ }, { "cell_type": "markdown", - "id": "5152a87e", + "id": "d98c23e7", "metadata": {}, "source": [ "
@@ -383,29 +383,16 @@

Compassionate Math

-
-

Compassionate Math#

-

This book has been inspired by the principles of “Compassionate math” [1] [2] [3].

+
+

Mathematics through story-telling#

+

This book has been inspired by the following idea:

-

“Compassionate Math acknowledges that different learners take different roads to understanding the same mathematical idea and encourages one to consider this inherent plurality of thought patterns when communicating mathematics.”

+

“Different learners take different roads to understanding the same mathematical idea and encourages one to consider this inherent plurality of thought patterns when communicating mathematics.”

Accordingly, this book attempts to reveal the thought-process behind creating mathematics (category theory) using story-telling, lots of illustrations, and visualization of computations. Minimizing the requirement for coding background, we have incorporated live-coding whenever possible. As such, this book is close to a creative non-fiction in formal mathematics. It is a new kind of experiment.

Whoopsy!

The process of learning something new is like building a machine by collecting its many little parts, and by screwing all those parts together. When we got all the parts and when all those parts are in their right place screwed together, then the machine can take us forward in our further explorations! Most of the textbooks focus on providing the big screws and the parts of its machine to the reader. However, its the tiny nuts and bolts which decide if someone’s understanding is tight and intact, or not. What this book does is to provide as much importance to the tiny nuts and bolts as much as to the big screws. Consequently, this book covers just enough material towards its goal in terms of breadth and depth. This has been made possible by the story-telling style of writing.

-
- - -