The chronicles of the epsilons and the deltas (Part 1 – Motivation)

Perhaps the most frightful distinction between High-School Mathematics and University mathematics is the introduction to the notion of Epsilons and Deltas for seemingly straightforward topics.

Limit, which used to be the approaching value of the function, somehow becomes this cryptic mess overnight. Furthermore, the more you try to wrap your head around it, the more tricky it gets, as nearly all the epsilon-delta definitions look almost the same (with one symbol turned around here and there).

Now to address the elephant in the room, do we really need such complex definitions? After all, all this time we didn’t worry about the shenanigans of these mathematical notations. Well, if you’d have guessed where what I am building up to, you’d know that the answer to that question is yes. And not because mathematicians like to make things complicated, but because the concepts of limit, continuity etc are some of the foundational blocks of higher mathematics and, to put in simple words, we can’t afford to have “loopholes” in these basic definitions.

A subtle change in perspective will turn it from very challenging to something of an “Aha!” moment, and the elegance with which these definitions abstract the idea of something bigger, would make you appreciate the amount of effort that went into creating them.

I am sure by this time a lot of reasonable questions would have surfaced, but before we tackle those doubts or even the definitions, I think it would be a good idea to familiarize ourselves with the essence of the epsilon-delta construct.

For me, I like to remember them as a neighbourhood for a neighbourhood (or neighbourhood inside a neighbourhood to be precise). Consider the following animations:

This idea of related neighbours is not too far from our everyday life. In a vague fuzzy way all neighborhoods are, in one way or another, dependent on each other. Fittingly enough, this idea will be carried along all through the till limit of a complex function.


From next post onwards, we’ll get rigorous with these definitions, starting from the limit of a function (and sequence).


The python code for all the animations that I will be using in this series is uploaded on GitHub. Feel free to tweak around to satisfy your own curiosity. (The animations are made in using Manim, if you’re not familiar with manim, I suggest you check out this post and this post).
Source code for this post



4. Text-MObjects

TextMobjects or Text Mathematical Object, defined in manim/manimlib/mobject/svg/, are another classifications of mobject (the other one that we came across was VMobject aka Vectorized Mathematical Object).

Glossing over simplicity, TextMobjects converts the string to latex formatted text which is then shown on the Scene.
To create a TextMobject:

display_text = TextMobject(“<String>”)

Type out the following code and run it

For most part, TextMobjects have the same properties as VMobjects (i.e move_to, rotation, transform etc). I’ll not be going over them one by one, as it’s just a matter of changing variables, However, I’ve attached a code snippet containing all of the above operations. Play around with it and you’ll find it’s pretty straightforward.

PS: Don’t forget to change the class name before rendering.

If you get an error stating: Exception: Latex error converting to dvi. See log output above or the log file: ... It means there’s some problem with the latex installation. See if all the packages mentioned here are installed

Adding equations

Adding equations is trivial if you know latex. All you have to do is put your latex equation in TextMobject and render.

Adding Colours