Ciro Santilli  Sponsor 中国独裁统治 China Dictatorship 新疆改造中心、六四事件、法轮功、郝海东、709大抓捕、2015巴拿马文件 邓家贵、低端人口、西藏骚乱
Well summarized as "the branch of mathematics that deals with limits".
An fancy name for calculus, with the "more advanced" connotation.

Limit (mathematics)

words: 139 articles: 7
The fundamental concept of calculus!
The reason why the epsilon delta definition is so venerated is that it fits directly into well known methods of the formalization of mathematics, making the notion completely precise.

Continuous function

words: 54 articles: 3
This is a general philosophy that Ciro Santilli, and likely others, observes over and over.
Basically, continuity, or higher order conditions like differentiability seem to impose greater constraints on problems, which make them more solvable.
Some good examples of that:


words: 10 articles: 1
Something that is very not continuous.
Notably studied in discrete mathematics.

Infinity ()

words: 53
Chuck Norris counted to infinity. Twice.
There are a few related concepts that are called infinity in mathematics:
  • limits that are greater than any number
  • the cardinality of a set that does not have a finite number of elements
  • in some number systems, there is an explicit "element at infinity" that is not a limit, e.g. projective geometry


words: 338 articles: 19
The derivative of a function gives its slope at a point.
More precisely, it give sthe inclination of a tangent line that passes through that point.
Figure 1. Source.

Chain rule

words: 45 articles: 1
Here's an example of the chain rule. Suppose we want to calculate:
So we have:
and so:
Therefore the final result is:
Bump function
articles: 1

Maxima and minima

words: 67 articles: 3
Given a function :
we want to find the points of the domain of where the value of is smaller (for minima, or larger for maxima) than all other points in some neighbourhood of .
In the case of Functionals, this problem is treated under the theory of the calculus of variations.

Partial derivative

words: 132 articles: 4

Partial derivative notation

words: 132 articles: 3
Nope, it is not a Greek letter, notably it is not a lowercase delta. It is just some random made up symbol that looks like a letter D. Which is of course derived from delta, which is why it is all so damn confusing.
I think the symbol is usually just read as "D" as in "d f d x" for .
This notation is not so common in basic mathematics, but it is so incredibly convenient, especially with Einstein notation as shown at Section "Einstein notation for partial derivatives":
This notation is similar to partial label partial derivative notation, but it uses indices instead of labels such as , , etc.
The total derivative of a function assigns for every point of the domain a linear map with same domain, which is the best linear approximation to the function value around this point, i.e. the tangent plane.
E.g. in 1D:
and in 2D:


words: 778 articles: 19


words: 1 articles: 1


words: 1
3D area.
The easy and less generic integral. The harder one is the Lebesgue integral.

Lebesgue integral

words: 765 articles: 15
"More complex and general" integral. Matches the Riemann integral for "simple functions", but also works for some "funkier" functions that Riemann does not work for.
Ciro Santilli sometimes wonders how much someone can gain from learning this besides the beauty of mathematics, since we can hand-wave a Lebesgue integral on almost anything that is of practical use. The beauty is good reason enough though.
Advantages over Riemann:
Video 1.
Riemann integral vs. Lebesgue integral by The Bright Side Of Mathematics (2018)
. Source. shows how Lebesgue can be visualized as a partition of the function range instead of domain, and then you just have to be able to measure the size of pre-images.
One advantage of that is that the range is always one dimensional.
But the main advantage is that having infinitely many discontinuities does not matter.
Infinitely many discontinuities can make the Riemann partitioning diverge.
But in Lebesgue, you are instead measuring the size of preimage, and to fit infinitely many discontinuities in a finite domain, the size of this preimage is going to be zero.
So then the question becomes more of "how to define the measure of a subset of the domain".
Which is why we then fall into measure theory!
In "practice" it is likely "useless", because the functions that it can integrate that Riemann can't are just too funky to appear in practice :-)
Its value is much more indirect and subtle, as in "it serves as a solid basis of quantum mechanics" due to the definition of Hilbert spaces.
And then this is why quantum mechanics basically lives in : not being complete makes no sense physically, it would mean that you can get closer and closer to states that don't exist!
TODO intuition
Riesz-Fischer theorem
words: 207 articles: 4
A measurable function defined on a closed interval is square integrable (and therefore in ) if and only if Fourier series converges in norm the function:
Fourier basis is complete for
words: 169 articles: 2
Riesz-Fischer theorem is a norm version of it, and Carleson's theorem is stronger pointwise almost everywhere version.
Note that the Riesz-Fischer theorem is weaker because the pointwise limit could not exist just according to it: norm sequence convergence does not imply pointwise convergence.
There are explicit examples of this. We can have ever thinner disturbances to convergence that keep getting less and less area, but never cease to move around.
If it does converge pointwise to something, then it must match of course.
The Fourier series of an function (i.e. the function generated from the infinite sum of weighted sines) converges to the function pointwise almost everywhere.
The theorem also seems to hold (maybe trivially given the transform result) for the Fourier series (TODO if trivially, why trivially).
Only proved in 1966, and known to be a hard result without any known simple proof.
This theorem of course implies that Fourier basis is complete for , as it explicitly constructs a decomposition into the Fourier basis for every single function.
TODO vs Riesz-Fischer theorem. Is this just a stronger pointwise result, while Riesz-Fischer is about norms only?
One of the many fourier inversion theorems.
Lp space ()
words: 231 articles: 5
Integrable functions to the power , usually and in this text assumed under the Lebesgue integral because: Lebesgue integral of is complete but Riemann isn't
words: 215 articles: 3
for .
is by far the most important of because it is quantum mechanics states live, because the total probability of being in any state has to be 1!
has some crucially important properties that other don't (TODO confirm and make those more precise):
Plancherel theorem
words: 135 articles: 2
Some sources say that this is just the part that says that the norm of a function is the same as the norm of its Fourier transform.
Others say that this theorem actually says that the Fourier transform is bijective.
The comment at may be of interest, it says that the bijection statement is an easy consequence from the norm one, thus the confusion.
TODO does it require it to be in as well? Wikipedia says yes, but does not mention it.
As mentioned at Section "Plancherel theorem", some people call this part of Plancherel theorem, while others say it is just a corollary.
This is an important fact in quantum mechanics, since it is because of this that it makes sense to talk about position and momentum space as two dual representations of the wave function that contain the exact same amount of information.
But only for the proper Riemann integral:

Measure theory

words: 46
Main motivation: Lebesgue integral.
The Bright Side Of Mathematics 2019 playlist:
The key idea, is that we can't define a measure for the power set of R. Rather, we must select a large measurable subset, and the Borel sigma algebra is a good choice that matches intuitions.

Fourier series

words: 730 articles: 11
Approximates an original function by sines. If the function is "well behaved enough", the approximation is to arbitrary precision.
Fourier's original motivation, and a key application, is solving partial differential equations with the Fourier series.
Can only be used to approximate for periodic functions (obviously from its definition!). The Fourier transform however overcomes that restriction:
The Fourier series behaves really nicely in , where it always exists and converges pointwise to the function: Carleson's theorem.
Video 2.
But what is a Fourier series? by 3Blue1Brown (2019)
. Source. Amazing 2D visualization of the decomposition of complex functions.
See: from heat equation solution with Fourier series.
Separation of variables of certain equations like the heat equation and wave equation are solved immediately by calculating the Fourier series of initial conditions!
Other basis besides the Fourier series show up for other equations, e.g.:

Discrete Fourier transform (DFT)

words: 420 articles: 3
Input: a sequence of complex numbers .
Output: another sequence of complex numbers such that:
Intuitively, this means that we are braking up the complex signal into sinusoidal frequencies:
  • : is kind of magic and ends up being a constant added to the signal because
  • : sinusoidal that completes one cycle over the signal. The larger the , the larger the resolution of that sinusoidal. But it completes one cycle regardless.
  • : sinusoidal that completes two cycles over the signal
  • ...
  • : sinusoidal that completes cycles over the signal
and is the amplitude of each sine.
We use Zero-based numbering in our definitions because it just makes every formula simpler.
Motivation: similar to the Fourier transform:
  • compression: a sine would use N points in the time domain, but in the frequency domain just one, so we can throw the rest away. A sum of two sines, only two. So if your signal has periodicity, in general you can compress it with the transform
  • noise removal: many systems add noise only at certain frequencies, which are hopefully different from the main frequencies of the actual signal. By doing the transform, we can remove those frequencies to attain a better signal-to-noise
In particular, the discrete Fourier transform is used in signal processing after a analog-to-digital converter. Digital signal processing historically likely grew more and more over analog processing as digital processors got faster and faster as it gives more flexibility in algorithm design.
Sample software implementations:
Figure 2. Source.
See sections: "Example 1 - N even", "Example 2 - N odd" and "Representation in terms of sines and cosines" of
The transform still has complex numbers.
  • is real
Therefore, we only need about half of to represent the signal, as the other half can be derived by conjugation.
"Representation in terms of sines and cosines" from then gives explicit formulas in terms of .
NumPy for example has "Real FFTs" for this:

Normalized DFT

words: 72
There are actually two possible definitions for the DFT:
The is nicer mathematically as the inverse becomse more symmetric, and power is conserved between time and frequency domains.
An efficient algorithm to calculate the discrete Fourier transform.

Fourier transform

words: 189 articles: 3
Continuous version of the Fourier series.
Can be used to represent functions that are not periodic: while the Fourier series is only for periodic functions.
Of course, every function defined on a finite line segment (i.e. a compact space).
Therefore, the Fourier transform can be seen as a generalization of the Fourier series that can also decompose functions defined on the entire real line.
As a more concrete example, just like the Fourier series is how you solve the heat equation on a line segment with Dirichlet boundary conditions as shown at: Section "Solving partial differential equations with the Fourier series", the Fourier transform is what you need to solve the problem when the domain is the entire real line.
Lecture notes:
Video 3.
How the 2D FFT works by Mike X Cohen (2017)
. Source. Animations showing how the 2D Fourier transform looks like for simple inpuf functions.
A set of theorems that prove under different conditions that the Fourier transform has an inverse for a given space, examples:
Video 4.
The Laplace Transform: A Generalized Fourier Transform by Steve Brunton (2020)
. Source. Explains how the Laplace transform works for functions that do not go to zero on infinity, which is a requirement for the Fourier transform. No applications in that video yet unfortunately.
First published by Fourier in 1807 to solve the heat equation.


words: 1k articles: 64
Topology is the plumbing of calculus.
The key concept of topology is a neighbourhood.
Just by havin the notion of neighbourhood, concepts such as limit and continuity can be defined without the need to specify a precise numerical value to the distance between two points with a metric.
As an example. consider the orthogonal group, which is also naturally a topological space. That group does not usually have a notion of distance defined for it by default. However, we can still talk about certain properties of it, e.g. that the orthogonal group is compact, and that the orthogonal group has two connected components.

Covering space

words: 63 articles: 1
Basically it is a larger space such that there exists a surjection from the large space onto the smaller space, while still being compatible with the topology of the small space.
We can characterize the cover by how injective the function is. E.g. if two elements of the large space map to each element of the small space, then we have a double cover and so on.
The key concept of topology.


words: 272 articles: 7
We map each point and a small enough neighbourhood of it to , so we can talk about the manifold points in terms of coordinates.
Does not require any further structure besides a consistent topological map. Notably, does not require metric nor an addition operation to make a vector space.
Manifolds are cool. Especially differentiable manifolds which we can do calculus on.
A notable example of a Non-Euclidean geometry manifold is the space of generalized coordinates of a Lagrangian. For example, in a problem such as the double pendulum, some of those generalized coordinates could be angles, which wrap around and thus are not euclidean.

Atlas (topology)

words: 12 articles: 1
Collection of coordinate charts.
The key element in the definition of a manifold.
A generalized definition of derivative that works on manifolds.
TODO: how does it maintain a single value even across different coordinate charts?
TODO find a concrete numerical example of doing calculus on a differentiable manifold and visualizing it. Likely start with a boring circle. That would be sweet...

Tangent space

words: 98 articles: 1
TODO what's the point of it.
A member of a tangent space.


words: 23 mentions that it is a bit like a dot product but for a tangent vector to a manifold: it measures how much that vector derives along a given direction.

Metric (mathematics, )

words: 254 articles: 10
A metric is a function that give the distance, i.e. a real number, between any two elements of a space.
A metric may be induced from a norm as shown at: Section "Metric induced by a norm".
Because a norm can be induced by an inner product, and the inner product given by the matrix representation of a positive definite symmetric bilinear form, in simple cases metrics can also be represented by a matrix.

Metric space

words: 196 articles: 9
Canonical example: Euclidean space.
TODO examples:
Figure 3.
Hierarchy of topological, metric, normed and inner product spaces
. Source.
In plain English: the space has no visible holes. If you start walking less and less on each step, you always converge to something that also falls in the space.
One notable example where completeness matters: Lebesgue integral of is complete but Riemann isn't.
Normed vector space
words: 21 articles: 2
Inner product space
words: 21 articles: 1
Subcase of a normed vector space, therefore also necessarily a vector space.
Inner product
words: 12
Appears to be analogous to the dot product, but also defined for infinite dimensions.
Norm (mathematics, )
words: 74 articles: 2
Vs metric:
  • a norm is the size of one element. A metric is the distance between two elements.
  • a norm is only defined on a vector space. A metric could be defined on something that is not a vector space. Most basic examples however are also vector spaces.
An inner product induces a norm with:
In a vector space, a metric may be induced from a norm by using subtraction:
Metric space but where the distance between two distinct points can be zero.
Notable example: Minkowski space.

Connected space

words: 26 articles: 3
When a disconnected space is made up of several smaller connected spaces, then each smaller component is called a "connected component" of the larger space.
See for example the


words: 422 articles: 7

Generalized Poincaré conjecture

words: 422 articles: 6
There are two cases:
  • (topological) manifolds
  • differential manifolds
Questions: are all compact manifolds / differential manifolds homotopic / diffeomorphic to the sphere in that dimension?
  • for topological manifolds: this is a generalization of the Poincaré conjecture.
    Original problem posed, for topological manifolds.
    Last to be proven, only the 4-differential manifold case missing as of 2013.
    Even the truth for all was proven in the 60's!
    Why is low dimension harder than high dimension?? Surprise!
    AKA: classification of compact 3-manifolds. The result turned out to be even simpler than compact 2-manifolds: there is only one, and it is equal to the 3-sphere.
    For dimension two, we know there are infinitely many: classification of closed surfaces
  • for differential manifolds:
    Not true in general. First counter example is . Surprise: what is special about the number 7!?
    Counter examples are called exotic spheres.
    Totally unpredictable count table:
    Dimension | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |Smooth types | 1 | 1 | 1 | ? | 1 | 1 | 28 | 2 | 8 | 6 | 992 | 1 | 3 | 2 | 16256 | 2 | 16 | 16 | 523264 | 24 |
    is an open problem, there could even be infinitely many. Again, why are things more complicated in lower dimensions??
Classification of closed surfaces
words: 167 articles: 3
So simple!! You can either:
  • cut two holes and glue a handle. This is easy to visualize as it can be embedded in : you just get a Torus, then a double torus, and so on
  • cut a single hole and glue aMöbius strip in it. Keep in mind that this is possible because the Möbius strip has a single boundary just like the hole you just cut. This leads to another infinite family that starts with:
A handle cancels out a Möbius strip, so adding one of each does not lead to a new object.
You can glue a Mobius strip into a single hole in dimension larger than 3! And it gives you a Klein bottle!
Intuitively speaking, they can be sees as the smooth surfaces in N-dimensional space (called an embedding), such that deforming them is allowed. 4-dimensions is enough to embed cover all the cases: 3 is not enough because of the Klein bottle and family.
Klein bottle
words: 9
sphere with two Möbius strips stuck into it as per the classification of closed surfaces.

Real coordinate space ()

words: 212 articles: 26
Important 4D spaces:
Visualizing 4D
words: 15
Simulate it. Just simulate it.
Video 5.
4D Toys: a box of four-dimensional toys by Miegakure (2017)
. Source.


articles: 2

Complex coordinate space ()

words: 162 articles: 3
Complex dot product
words: 162 articles: 1
This section is about the definition of the dot product over , which extends the definition of the dot product over .
Some motivation is discussed at:
The complex dot product is defined as:
E.g. in :
We can see therefore that this is a form, and a positive definite because:
Just like the usual dot product, this will be a positive definite symmetric bilinear form by definition.
the norm ends up being:
E.g. in :

Euclidean space

words: 32 articles: 13
with extra structure added to make it into a metric space.
The identity matrix.
Non-Euclidean geometry
words: 20 articles: 7
Elliptic geometry
words: 20 articles: 2
Model of elliptic geometry
words: 20 articles: 1
Each elliptic space can be modelled with a real projective space. The best thing is to just start thinking about the real projective plane.

Distribution (mathematics)

words: 157 articles: 4
Generalize function to allow adding some useful things which people wanted to be classical functions but which are not,
It therefore requires you to redefine and reprove all of calculus.
For this reason, most people are tempted to assume that all the hand wavy intuitive arguments undergrad teachers give are true and just move on with life. And they generally are.
One notable example where distributions pop up are the eigenvectors of the position operator in quantum mechanics, which are given by Dirac delta functions, which is most commonly rigorously defined in terms of distribution.
Distributions are also defined in a way that allows you to do calculus on them. Notably, you can define a derivative, and the derivative of the Heaviside step function is the Dirac delta function.

Dirac delta function

words: 41 articles: 2
The "0-width" pulse distribution that integrates to a step.
There's not way to describe it as a classical function, making it the most important example of a distribution.

Complex analysis

words: 223 articles: 8
The surprising thing is that a bunch of results are simpler in complex analysis!
Being a complex holomorphic function is an extremely strong condition.
The existence of the first derivative implies the existence of all derivatives.
Another extremely strong consequence is the identity theorem.
"Holos" means "entire" in Greek, so maybe this is a reference to the fact that due to the identity theorem, knowing the function on a small open ball implies knowing the function everywhere.

Analytic continuation

words: 147 articles: 4
visualizing the Riemann hypothesis and analytic continuation by 3Blue1Brown (2016) is a good quick visual non-mathematical introduction is to it.
The key question is: how can this continuation be unique since we are defining the function outside of its original domain?
The answer is: due to the identity theorem.
Good ultra quick visual non-mathematical introduction to the Riemann hypothesis and analytic continuation.
Video 6. Source.

Identity theorem

words: 96 articles: 2
Essentially, defining an holomorphic function on any open subset, no matter how small, also uniquely defines it everywhere.
This is basically why it makes sense to talk about analytic continuation at all.
One way to think about this is because the Taylor series matches the exact value of an holomorphic function no matter how large the difference from the starting point.
Therefore a holomorphic function basically only contains as much information as a countable sequence of numbers.
Riemann zeta function
words: 25 articles: 1
visualizing the Riemann hypothesis and analytic continuation by 3Blue1Brown (2016) is a good quick visual non-mathematical introduction is to it.
One of the Millennium Prize Problems and Hilbert's problems.
Video 7.
What is the Riemann Hypothesis REALLY about? by HexagonVideos (2022)
. Source.

Hilbert space

words: 57 articles: 1
Key for quantum mechanics, see: mathematical formulation of quantum mechanics, the most important example by far being .

Complete basis

words: 44
Finding a complete basis such that each vector solves a given differential equation is the basic method of solving partial differential equation through separation of variables.
The first example of this you must see is solving partial differential equations with the Fourier series.
Notable examples:

Differential equation

words: 2k articles: 80

Euler number ()

words: 5 articles: 3
Sample software implementations:

Linear differential equation

words: 142 articles: 1
The name is a bit obscure if you don't think in very generalized terms right out of the gate. It refers to a linear polynomial of multiple variables, which by definition must have the super simple form of:
and then we just put the unknown and each derivative into that simple polynomial:
except that now the are not just constants, but they can also depend on the argument (but not on or its derivatives).
Explicit solutions exist for the very specific cases of:
Order of the highest derivative that appears.
Technique to solve partial differential equations
Naturally leads to the Fourier series, see: solving partial differential equations with the Fourier series, and to other analogous expansions:
One notable application is the solution of the Schrödinger equation via the time-independent Schrödinger equation.
The finite element method is one of the most common ways to solve PDEs in practice.
Used for example in FreeFem and FEniCS Project as the input description of the PDEs, TODO why.
Used to solve partial differential equation.
TODO understand, give intuition, justification of bounds and JavaScript demo.
The majority likely comes from physics:
Laplace's equation
words: 111 articles: 5
Like a heat equation but for functions without time dependence, space-only.
TODO confirm: does the solution of the heat equation always converge to the solution of the Laplace equation as time tends to infinity?
In one dimension, the Laplace equation is boring as it is just a straight line since the second derivative must be 0. That also matches our intuition of the limit solution of the heat equation.
Uniqueness: Uniqueness theorem for Poisson's equation.
Show up when solving the Laplace's equation on spherical coordinates by separation of variables, which leads to the differential equation shown at:
Poisson's equation
words: 9 articles: 1
Generalization of Laplace's equation where the value is not necessarily 0.
Harmonic function
words: 18 articles: 1
A solution to Laplace's equation.
Correspond to the angular part of Laplace's equation in spherical coordinates after using separation of variables as shown at:'s_spherical_harmonics
Heat equation
words: 110 articles: 1
Besides being useful in engineering, it was very important historically from a "development of mathematics point of view", e.g. it was the initial motivation for the Fourier series.
Some interesting properties:
  • TODO confirm: for a fixed boundary condition that does not depend on time, the solutions always approaches one specific equilibrium function.
    This is in contrast notably with the wave equation, which can oscillate forever.
  • TODO: for a given point, can the temperature go down and then up, or is it always monotonic with time?
  • information propagates instantly to infinitely far. Again in contrast to the wave equation, where information propagates at wave speed.
Sample numerical solutions:
Wave equation
words: 459 articles: 21
Describes perfect lossless waves on the surface of a string, or on a water surface.
As mentioned at: from solving partial differential equations with the Fourier series citing, analogously to the heat equation, the wave linear equation can be be solved nicely with separation of variables.
This section talks about solvers/simulators dedicated solving the wave equation. Of course, any serious solver will likely be able to solve a wider range of PDE, so this section contains mostly fun toys. For more serious stuff see: Section "PDE solver".
JavaScript toy solvers:
Related: also mentioned at from heat equation solution with Fourier series.
TODO confirm, see also: coupled oscillators. And then this idea can be used to define/motivate quantum field theory in terms of quantum harmonic oscillators with second quantization.
articles: 1
words: 30 articles: 1
Start with: Section "String polarization".
Then go to: Section "Polarization of light".
This is about the polarization of a string in 3D space. That is the first concept of polarization you must have in mind!
words: 36 articles: 4
Huygens-Fresnel principle
words: 36 articles: 3
Kirchhoff's diffraction formula
words: 36 articles: 2
Approximation to Huygens-Fresnel principle.
Far field approximation to Kirchhoff's diffraction formula, i.e. when the plane of observation is far from the object diffracting.
Near field approximation to Kirchhoff's diffraction formula, i.e. when the plane of observation is near the object diffracting.
words: 183
Resonance is a really cool thing.
Perhaps a key insight of resonance is that the reonant any lossy system tends to look like the resonance frequency quite quickly even if the initial condition is not the resonant condition itself, because everything that is not the resonant frequency interferes destructively and becomes noise. Some examples of that:
  • striking a bell or drum can be modelled by applying an impuse to the system
  • playing a pipe instrument comes down to blowing a piece that vibrates randomly, and then leads the pipe to vibrate mostly in the resonant frequency. Likely the same applies to bowed string instruments, the bow must be creating a random vibration.
  • playing a plucked string instrument comes down to initializing the system to an triangular wave form and then letting it evolve. TODO find a simulation of that!
Another cool aspect of resonance is that it was kind of the motivation for de Broglie hypothesis, as de Broglie was kind of thinking that electroncs might show discrete jumps on atomic spectra because of constructive interference.
Wave interference
words: 19 articles: 1
What you see along a line or plane in a wave interference.
Notably used for the pattern of the double-slit experiment.
Bessel function
words: 53 articles: 1
Shows up when trying to solve 2D wave equation on a circular domain in polar coordinates with separation of variables, where we have to decompose the initial condition in termes of a fourier-Bessel series, exactly like the Fourier series appears when solving the wave equation in linear coordinates.
For the same fundamental reasons, also appears when calculating the Schrödinger equation solution for the hydrogen atom.
Completeness: TODO
This is the bessel function analogue to Fourier basis is complete for .
eigenvalue problem of Laplace's equation.
If you have a PDE that models physical phenomena, it is fundamental that:
  • there must exist a solution for every physically valid initial condition, otherwise it means that the equation does not describe certain cases of reality
  • the solution must be unique, otherwise how are we to choose between the multiple solutions?
Unlike for ordinary differential equations which have the Picard–Lindelöf theorem, the existence and uniqueness of solution is not well solved for PDEs.
For example, Navier-Stokes existence and smoothness was one of the Millennium Prize Problems.
words: 550 articles: 3
Started in 1987 and written in Pascal, by the French from Pierre and Marie Curie University, the French are really strong in numerical analysis.
Ciro wasn't expecting it to be as old. Ported to C++ in 1992.
The fact that French wrote it can be seen in the documentation, for example uses file extension mycode.edp instead of mycode.pde where dep stands for "Équation aux dérivées partielles".
Besides the painful build, using FreeFem is relatively simple, as can be seen from the examples on the website.
They do use a domain-specific language on the examples, which appears to be the main/only interface, which is a bad thing, Ciro would rather have a Python API as the "main API", which is more the approach taken by the FEniCS Project, but so be it. This domain-specific language business means that you always stumble upon basic stuff you want to do but can't, and then you have to think about how to share data between the simulation and the plotting. The plotting notably is super complex and they can't implement all of what people want, upstream examples often offload that to gnuplot. This is potentially a big advantage of FEniCS Project.
It nice though that they do have some graphics out of the box, as that allows to quickly debug common problems.
Uses variational formulation of a partial differential equation, which is not immediately obvious to beginners? The introduction gives an ultra quick example, but your are mostly on your own with that.
On Ubuntu 20.04, the freefem is a bit out-of-date (3.5.8, there isn't even a tag for that in the GitHub repo, and refs/tags/release_3_10 is from 2010!) and fails to run the examples from the website. It did work with the example package though, but the output does not have color, which makes me sad :-)
sudo apt install freefem freefem-examples
freefem /usr/share/doc/freefem-examples/heat.pde
So let's just compile the latest v4.6 it from source, on Ubuntu 20.04:
sudo apt build-dep freefem
git clone
cd FreeFem-sources
# Post v4.6 with some fixes.
git checkout 3df0e2370d9752801ac744b11307b14e16743a44

# Won't apply automatically due to tab hell.
git apply <<'EOS'
diff --git a/3rdparty/ff-petsc/Makefile b/3rdparty/ff-petsc/Makefile
index dc62ab06..13cd3253 100644
--- a/3rdparty/ff-petsc/Makefile
+++ b/3rdparty/ff-petsc/Makefile
@@ -204,7 +204,7 @@ $(SRCDIR)/tag-make-real:$(SRCDIR)/tag-conf-real
 $(SRCDIR)/tag-install-real :$(SRCDIR)/tag-make-real
     cd $(SRCDIR) && $(MAKE) PETSC_DIR=$(PETSC_DIR) PETSC_ARCH=fr install
     -test -x "`type -p otool`" && make changer
-    cd $(SRCDIR) && $(MAKE) PETSC_DIR=$(PETSC_DIR) PETSC_ARCH=fr check
+    #cd $(SRCDIR) && $(MAKE) PETSC_DIR=$(PETSC_DIR) PETSC_ARCH=fr check
     test -e $(DIR_INSTALL_REAL)/include/petsc.h
     test -e $(DIR_INSTALL_REAL)/lib/petsc/conf/petscvariables
     touch $@
@@ -293,7 +293,6 @@ $(SRCDIR)/tag-tar:$(PACKAGE)
     -tar xzf $(PACKAGE)
     patch -p1 < petsc-hpddm.patch
 ifeq ($(WIN32DLLTARGET),)
-    patch -p1 < petsc-metis.patch
     touch $@

autoreconf -i
./configure --enable-download --enable-optim --prefix="$(pwd)/../FreeFem-install"
./3rdparty/getall -a
cd 3rdparty/ff-petsc
make petsc-slepc
cd -
make -j`nproc`
make install
cd ../FreeFem-install
PATH="${PATH}:$(pwd)/bin" ./bin/FreeFem++ ../FreeFem-sources/examples/tutorial/
Ciro's initial build experience was a bit painful, possibly because it was done on a relatively new Ubuntu 20.04 as of June 2020, but in the end it worked:
The main/only dependency appears to be PETSc which is used by default, which is a good sign, as that library appears to automatically parallelize a single input to several backends (single CPU, MPI, GPU) so you know things will scale up as you reach simulations.
The problem is that it compiling such a complex dependency opens up much more room for hard to solve compilation errors, and takes a lot more time.
FreeFem examples
words: 7 articles: 2
1-dimensional heat equation example with Dirichlet boundary condition
2-dimensional heat equation example with Dirichlet boundary condition:
FEniCS Project
words: 217 articles: 1
One big advantage over FreeFem is that it uses plain old Python to describe the problems instead of a domain-specific language. Matplotlib is used for plotting by default, so we get full Python power out of the box!
Also uses variational formulation of a partial differential equation like FreeFem which is a pain.
One downside is that its documentation is a Springer published PDF which is several years out-of-date (tested with FEnics 2016.2. Newbs. This causes problems e.g.:
system of partial differential equations are mentioned at: 3.5 "A system of advection–diffusion–reaction equations". You don't need to manually iterate between the equations.
On Ubuntu 20.04 as per
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fenics-packages/fenics
sudo apt-get update
sudo apt-get install --no-install-recommends fenics
sudo apt install fenics
python3 -m pip install -u matplotlib
Before 2020-06, it was failing with:
E: The repository ' focal Release' does not have a Release file.
but they seem to have created the Ubuntu 20.04 package as of 2020-06, so it now worked!
TODO heat equation hello world.
GitHub account:
It should be mentioned that when you start Googling for PDE stuff, you will reach Han's writings a lot under his GitHub Pages:, and he is one of the main authors of the FEniCS Project.
Unfortunately he died of cancer in 2016, shame, he seemed like a good educator.
He also published to GitHub pages with his own crazy markdown-like multi-output markup language:
Rest in peace, Hans.
In many important applications, what you have to solve is not just a single partial differential equation, but multiple partial differential equations coupled to each other. This is the case for many key PDEs including:
One major application of this classification is that different boundary conditions are suitable for different types of partial differential equations as explained at: which boundary conditions lead to existence and uniqueness of a second order PDE.
Bibliography: 6.1 "Classification of PDE's" clarifies which boundary conditions are needed for existence and uniqueness of each type of second order of PDE:

Phase space

words: 9
This idea comes up particularly in the phase space coordinate of Hamiltonian mechanics.

Boundary condition

words: 308 articles: 9
Basically a subset of the boundary condition for when one of the parameters is time and we are specifying values for the time 0.
Specifies fixed values.
Can be used for elliptic partial differential equations and parabolic partial differential equations.
Numerical examples:

Neumann boundary condition

words: 243 articles: 4
Specifies the derivative in a direction normal to the boundary.
Can be used for elliptic partial differential equations and parabolic partial differential equations.
Sets both a Dirichlet boundary condition and a Neumann boundary condition for a single part of the boundary.
Can be used for hyperbolic partial differential equations.
We understand intuitively that this imposes stricter requirements on solutions, which makes it easier to guarantee uniqueness, but also harder to have existence. TODO intuitively why hyperbolic need this extra level of restriction.
Linear combination of a Dirichlet boundary condition and Neumann boundary condition at each point of the boundary.
In the context of wave-like equations, an open-boundary condition is one that "lets the wave go through without reflection".
This condition is very useful when we want to simulate infinite domains with a numerical method. Ciro Santilli wants to do this all the time when trying to come up with demos for his physics writings.
Here are some resources that cover such boundary conditions:
Multiple boundary conditions for different parts of the boundary.
Most commonly, boundary conditions such as the Dirichlet boundary condition are taken to be fixed values in time.
But it also makes sense to think about cases where those values vary in time.
Some bibliography:

Control theory

words: 70 articles: 3
This basically adds one more ingredient to partial differential equations: a function that we can select.
And then the question becomes: if this function has such and such limitation, can we make the solution of the differential equation have such and such property?
It's quite fun from a mathematics point of view!
Control theory also takes into consideration possible discretization of the domain, which allows using numerical methods to solve partial differential equations, as well as digital, rather than analogue control methods.

Series (mathematics)

words: 36 articles: 8

Power series

words: 36 articles: 7

Analytic function

words: 36 articles: 4
Sine and cossine
words: 36 articles: 3
words: 36
A function that is either a sine or cosine, i.e. we don't know or care where the origin is exactly.
This is particularly relevant in electronics, where the oscilloscope's time origin is set to match the wave.
Points in the direction in which a wind spinner spins fastest.

Nabla symbol ()

words: 97 articles: 1
As if Greek letters weren't enough, physicists and mathematicians also like to make up tons of symbols, some of which look like the could actually be Greek letters!
Nabla is one of those: it was completely made up in modern times, and just happens to look like an inverted upper case delta to make things even more confusing!
Nabla means "harp" in Greek, which looks like the symbol.


words: 33
Oh, and if it weren't enough, mathematicians have a separate name for the damned nabla symbol : "del" instead of "nabla".
TODO why is it called "Del"? Is is because it is an inverted uppercase delta?
Takes a vector field as input and produces a scalar field.
Mnemonic: it gives out the amount of fluid that is going in or out of a given volume per unit of time.
Therefore, if you take a cubic volume:
  • the input has to be the 6 flows across each face, therefore 3 derivatives
  • the output is the variation of the quantity of fluid, and therefore a scalar

Gradient ()

words: 89
Takes a scalar field as input and produces a vector field.
Mnemonic: the gradient shows the direction in which the function increases fastest.
Think of a color gradient going from white to black from left to right.
Therefore, it has to:
  • take a scalar field as input. Otherwise, how do you decide which vector is larger than the other?
  • output a vector field that contains the direction in which the scalar increases fastest locally at each point. This has to give out vectors, since we are talking about directions

Laplace operator (, )

words: 29 articles: 1
Can be denoted either by:
Our default symbol is going to be:
The laplace operator for Minkowski space.
Can be nicely written with Einstein notation as shown at: Section "D'alembert operator in Einstein notation ()".


words: 10
Just use limit instead, please. The French are particularly guilty of this.


  1. Area of mathematics
  2. Mathematics
  3. Ciro Santilli's Homepage