You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Imagination will often carry us to worlds that never were. But
without it we go nowhere.
-- Carl Sagan,
popular atrophysicist
Units
Dimensions
A number can be used to count items or measure different concepts. For
instance, $x$ might be refering to a \delay{duration}, an \angle{angle}, a
\mass{mass}, a pressure, a \dist{distance}, a \speed{speed}, an
\accel{acceleration}, a \force{force}, etc. The concept $x$ is referring to is
called the dimension of $x$.
There is usually several ways to measure a similar concept. For instance, a
\dist{distance} might be measured in either \dist{meters}, \dist{feet},
\dist{stadiums}, etc. To avoid confusion, we agreed on which units should be
prefered; those are called SI Units (for Système International, which is
French for International System).
Below is a summary of some dimensions, the corresponding SI unit, and other
common units:
Dimension SI unit Other units
\angle{angle} radian (rad) turn (-), degree (°)
\delay{duration} second (s) hour (h), day (d), year (y)
\dist {distance} meter (m) foot (ft), mile (mi), light-year (ly)
\speed{speed} meter per second (m/s) mile per hour (mph), knot (kn)
\mass {mass} kilogram (kg) ton (t), pound (lb)
pressure pascal (Pa) atmosphere (atm), bar (bar)
A \dist{light} year is the distance that a particle of light can travel in a
\delay{year}. For comparison, it takes light a little bit more than
\delay{eight minutes} (\delay{8~min}) to get from the Sun to the Earth, meaning
that the Sun is \dist{8~light-minutes} away from the Earth. Kerbin is about
\dist{45~light-seconds} away from Kerbol.
Prefixes
When considering different scales, it is practical to use different units.
Using a same unit when traveling or when describing a stamp would force us to
use tiny and huge numbers, making it harder to build an intuition.
Such units have been hinted above. For instance, the \dist{ångström} is used
for the size of atoms and molecules; the \dist{parsec} is used for interstellar
distances. Creating a new unit for each use case is cumberstone and makes it
harder to concialiate intersecting situations.
A simpler approach is to use prefixes. The idea is to easily create new
units out of a basic one. That way, a kilometer is \dist{1,000 meters} and
we can simply write \dist{355km} rather than \dist{355,000m}.
Here are the most common prefixes:
kilo- (k-) mega- (M-) giga- (G-) tera- (T-)
10³ 10⁶ 10⁹ 10¹²
There are also prefixes to decrease the value of an unit:
milli- (m-) micro- (µ-) nano- (n-) pico- (p-)
10⁻³ 10⁻⁶ 10⁻⁹ 10⁻¹²
Conversion
We sometimes need to switch the unit used for a measure. For example, let us
convert $\speed{50km/h}$ to SI units. We know that $\dist{km} = \dist{1000m}$
and $\delay{h} = \delay{3600~s}$ so:
This particular example shows how easy it is to include units in computations.
As we will see below, having the units is useful when considering more complex
expressions.
Addition (and substraction)
An addition involves two measures of the same dimension. For example, let us
assume we have a distance \dist{x} defined as follows:
$$
\dist{x} = \dist{2ly} + \dist{4,730Tm}
$$
Since we know that that $\dist{ly} = \dist{9,4607~Tm}$, we can replace it in
the expression:
Of course, the two ways are equivalent and we can check that $\dist{2.5ly} =
\dist{23,652Tm}$.
Multiplication (and division)
We can create new units pretty easily. For example, if some object travels a
distance $\dist{d} = \dist{15m}$ in a duration $\delay{t} = \delay{3s}$, we
can define the velocity $\speed{v} = \dist{d} / \delay{t} = \dist{15m} /
\delay{3s} = \speed{5m/s}$. Conversely, assume the object has traveled at a
velocity $\speed{50km/h}$ for a duration $\delay{30~s}$; then, the distance it
has gone through is:
By doing the operations on both the numerical values and the units, we know
what our result is: in this case, it's a distance, and it is expressed in
meters.
Functions
Let us consider a car $\posit{C}$ moving along a straight road at a speed of
$\speed{v}$ (e.g. $\speed{50~km/h}$). The position of the car, $\posit{C}$, can
be determined by the distance from $\posit{C}$ to an arbitrary fix point
$\posit{O}$ (the origin). We will note this distance $\dist{x}$ and we have
thus $\dist{x} = \dist{OC}$.
We will measure time $\delay{t}$ as the delay since the car was at the origin
($\posit{C} = \posit{O}$).
\begin{tikzpicture}[->]
\node[point=O] (O) at (0,0) {};
\node (E) at (5,0) {x};
\node[point=C] (C) at (3,0) {};
\draw (O) -> (E);
\end{tikzpicture}
$\posit{C}$ is moving towards the right at speed $\speed{v}$
Say we want to follow the evolution of the position of the car as time passes
by. In other words, we are interested in knowing $\dist{x}$ as a function
of $\delay{t}$. We know that, at time \delay{t}, we have $\dist{x} = \speed{v}
\times \delay{t}$. We write it:
This notation gives us a general formula to compute $\dist{x}$ for any given
value of $\delay{t}$. For example, if we want to know the position of the car
after one hour:
As another example, it is known that the intensity of the light emitted by a
star decreases proportionnaly to the square of the distance to the star. This
can be written as:
$$
L(\dist{r}) = \frac C {\dist{r}^2}
$$
where $C$ is some constant value (i.e. independent from $\dist{r}$) which
is to be determined experimentally.
Derivatives
Definition
Assume we know the position $\dist{x}(\delay{t})$ of the car for any instant
$\delay{t}$ and we want to determine the velocity of the car at a given instant
$\delay{t_0}$.
\begin{tikzpicture}
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
xlabel=$\delay{t}$,
ylabel=$\dist{x}$,
clip=false,
]
\addplot+[color=green]{examplepos(x)};
\node[roint=A] (A) at (axis cs:4, {examplepos(4)}) {};
\node[boint={\delay{t_0}}] (t) at (A |- {0,0}) {};
\node[loint={\dist{x}(\delay{t_0})}] (x) at (A -| {0,0}) {};
\draw[dashed] (t) -- (A) -- (x);
\end{axis}
\end{tikzpicture}
The horizontal axis represents the passage of time, the vertical axis the
position. The \dist{curve} shows the position at every instant. For instance,
at instant $\delay{t_0}$, the position is $\dist{x}(\delay{t_0})$, which
corresponds to the point $\posit{A}$.
The velocity is the variation of position through time. Thus, to know how
fast the car is going at time $\delay{t_0}$, we need to look at the position of
the car at two different instants. We already have $\delay{t_0}$; let us also
consider $\delay{t_0+h}$ for some arbitrary value $\delay{h}$.
The difference in position between instants $\delay{t_0}$ and $\delay{t_0+h}$
is thus $\dist{x}(\delay{t_0+h}) - \dist{x}(\delay{t_0})$; a shorter notation
for this is $\dist{\Delta x}(\delay{t_0})$. The value $\delay{h}$ is not shown
because it has no importance in itself. The Greek letter $\Delta$ ("delta",
equivalent of $d$), is generally used to denote a difference (here, the
difference in position).
Notice that, the bigger $\delay{h}$, the bigger we expect this difference to
be: the longer the delay, the longer the car moved. To compensate for this, we
will divide by how much time has passed, which is to say $\delay{h} =
\delay{t_0+h} - \delay{t_0} = \delay{\Delta t_0}$:
This value is the mean velocity from instant $\delay{t_0}$ to instant
$\delay{t_0+h}$. However, the mean velocity is a value that only gives a
general idea of the speed on some period of time. In this duration, the
instant velocity (actual speed) can vary a lot and the mean velocity would
then be far off to these values.
\begin{tikzpicture}
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
xlabel=$\delay{t}$,
ylabel=$\dist{x}$,
clip=false,
]
\addplot+[color=green]{examplepos(x)};
\node[roint=A] (A) at (axis cs:4.0, {examplepos(4.0)}) {};
\node[roint=B] (B) at (axis cs:4.9, {examplepos(4.9)}) {};
\node[boint={\delay{t_0}}] (t0) at (A |- {0,0}) {};
\node[boint={\delay{t_0+h}}] (t1) at (B |- {0,0}) {};
\node[loint={\dist{x}(\delay{t_0})}] (x0) at (A -| {0,0}) {};
\node[loint={\dist{x}(\delay{t_0+h})}] (x1) at (B -| {0,0}) {};
\draw[dashed] (t0) -- (A) -- (x0);
\draw[dashed] (t1) -- (B) -- (x1);
\draw[color=blue,shorten <=-2cm,shorten >=-1cm] (A) -- (B);
\end{axis}
\end{tikzpicture}
We add a point $\posit{B}$ to the previous graph at time $\delay{t_0+h}$. The
mean velocity from $\posit{A}$ to $\posit{B}$ can be thought as the slope of
the blue line $(AB)$.
Since we expect the speed to not change a lot on short periods of time, a
natural solution is to consider the mean velocity over shorter durations.
\begin{tikzpicture}
\foreach \i [
evaluate=\i as \x using {mod(\i,2)*\linewidth*2},
evaluate=\i as \y using {-floor(\i/2)*\linewidth*3},
] in {0,...,3}{
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
clip=false,
scale=0.5,
at={(\x,\y)},
]
\addplot+[color=green]{examplepos(x)};
\node[roint=A] (A) at (axis cs:4.0, {examplepos(4.0)}) {};
\node[loint=B] (B) at (axis cs:{4.0+0.9/(2\^\i)}, {examplepos(4.0+0.9/(2\^\i))}) {};
\draw[color=blue,shorten <=-2cm,shorten >=-1cm] (A) -- (B);
\end{axis}
}
\end{tikzpicture}
The closer to $\posit{A}$ we pick $\posit{B}$, the best the blue line matches
the curve at $\posit{A}$.
So, as we pick shorter and shorter durations $\delay{h}$, the value
$\delay{\Delta t_0}$ becomes smaller, but so does $\dist{\Delta x}$. Often, we
will notice that the mean velocity seems to converge (becomes closer and
closer) to a particular value. Instead of continuing to choose smaller and
smaller values of $\delay{h}$, we will pick this values and call it the
limit of $\frac {\dist{\Delta x}(\delay{t_0})} {\delay{\Delta t_0}}$ as
$\delay{h}$ tends to $0$ (becomes smaller and smaller). Or, for short:
Here, the derivative of $\posit{x}$ at $\delay{t_0}$ corresponds to the mean
velocity over an infinitely small period, that is, the instant velocity.
Finally, we can do this for any value of $\delay{t_0}$. Thus, we have a new
function that let us evaluate the velocity at any $\delay{t_0}$:
$$
x' = \frac {\dist{\d x}} {\delay{\dt}}
$$
When the derivation is done with respect to time (i.e. $\frac {\dots}
{\delay{t}}$), we can simply use the dot notation: $\speed{\dot x}$.
\begin{tikzpicture}
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
xlabel=$\delay{t}$,
ylabel=$\dist{x}$,
clip=false,
]
\addplot+[color=green]{examplepos(x)};
\end{axis}
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis y line=right,
axis x line=none,
ylabel=$\speed{v}$,
clip=false,
]
\addplot+[color=blue]{examplevel(x)};
\end{axis}
\end{tikzpicture}
This graph features both \posit{position} and \speed{velocity}. Since they do
not represent the same type of measurement, they each use a different axis and
comparing the relative positions of their curves is meaningless. However, we
can see that, as the position stabilizes in the middle, the velocity decreases;
in the end the object moves again, faster and faster.
Second derivative
The velocity is the derivative of the position. As a function, it can itself
fluctuate and we can be interested in these variations. The derivative of the
velocity is the acceleration: $\accel{a} = \accel{\dot v}$.
A shorter way of saying that the acceleration is the derivative of the
derivative of the position, is to say that the acceleration is the second
derivative of the position: $\accel{a} = \accel{\ddot x}$.
Formal derivation
We now have a way to compute the derivative of a function at a given point.
However, it is not accurate: while we do get a better approximation by taking a
smaller value for $h$, the result is still an approximation and can sometimes
stay far off.
Instead, we can look at the expressions to determine the exact value for the
limit. For instance, let us consider the function $f(x) = 12x$ and let us
search for the derivative of f at some $x$, i.e. $\frac {\d f(x)} {\d x}$.
First:
We now look at the value $\frac {\Delta f(x)} {\Delta x}$ as $\Delta x$ gets
small; in this case, it happens to always be $12$, and does not depend on
$\Delta x$. Thus, however small $\Delta x$, the value is $12$, and:
Here, the expression does depend on $h$. However, the smaller $h$ gets, the
less influence it has on the sum: the value is becoming closer and closer to
$7x$. Thus: $\frac {\d g(x)} {\d x} = 7x$.
Derivation rules
Now, what if we want to compute the derivative of $h(x) = 12x + 7x^2$? Of
course, we could go through the same step as in the previous part. However
keeping the same definitions of $f$ and $g$, we can notice that $h = f + g$. It
means that $h(x) = f(x) + g(x)$ for all $x$'s.
It turns out that it can be shown that $\frac {\d} {\d x} (f+g) = \frac {\d}
{\d x} f + \frac {\d} {\d x} g$ for any functions $f$ and $g$. Using this rule
and knowing the derivative of $f$ and $g$, we can derive:
There are a few derivation rules that can help us determine the derivative of
complex functions easily.
\begin{alignat*}{2}
& (\alpha f)' &&= \alpha f' \\
& (f + g)' &&= f' + g' \\
& (f \times g)' &&= f' \times g' + g' \times f \\
& \left(\frac f g\right)' &&= \frac {f'g - g'f} {g^2} \\
& (f(g(x))' &&= g'(x) \times f'(g(x))
\end{alignat*}
derivation rules
\begin{alignat*}{2}
& (x^n)' &&= n x^{n-1} \\
& (e^x)' &&= e^x \\
& (\ln x)' &&= \frac 1 x \\
& (\cos x)' &&= -\sin x \\
& (\sin x)' &&= \cos x
\end{alignat*}
common derivatives
Integrals
Definition
Now, let us consider the reverse situation: we know the velocity of the car
$\speed{v}$ at any given instant and we would like to know where it was at an
arbitrary instant $\delay{t_0}$. In other words, we know the derivative of the
position $\speed{\dot x} = \speed{v}$ and we intend to get the position
$\posit{x}$ back.
The first thing to notice is that the velocity only informs us on relative
motion: two cars can have the same velocity through time while being in
different positions. In the example below, the positions of two cars with the
same speed are shown; since the red car starts ahead, it stays ahead.
\begin{tikzpicture}
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
xlabel=$\delay{t}$,
ylabel=$\dist{x}$,
clip=false,
]
\addplot{examplepos(x)};
\addplot{5e4+examplepos(x)};
\end{axis}
\end{tikzpicture}
The red car moves like the blue car does, but starts ahead.
This means that we will need additional information to know where to start.
Here, we will assume the car start at $\posit{x}(\delay{0s}) = 0m$.
As a first approximation, we could pretend the velocity is constant, and always equal to
$\speed{v}(\delay{t_0})$. That would make the position trivial to compute:
$\posit{x}(\delay{t_0}) \simeq \speed{v}(\delay{t_0}) \times \delay{t_0}$.
Now, given a constant velocity $\speed{v_0}$ and a delay $\delay{t_0}$, we know
how to compute the distance $\posit{x_0}$ as $\posit{x_0} = \speed{v_0} \times
\delay{t_0}$. In this situation however, the velocity changes over the time
interval from $\delay{0~s}$ to $\delay{t_0}$.
\begin{tikzpicture}
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
xlabel=$\delay{t}$,
ylabel=$\speed{v}$,
clip=false,
]
\addplot+[color=red]{examplevel2(x)};
\node[roint=A] (A) at (axis cs:3.5, {examplevel2(3.5)}) {};
\node[boint={\delay{t_0}}] (t0) at (A |- {0,0}) {};
\node[loint={\speed{v}(\delay{t_0})}] (v0) at (A -| {0,0}) {};
\fill[green,opacity=0.1] (0,0) rectangle (A);
\draw[dashed] (t0) -- (A) -- (v0);
\end{axis}
\end{tikzpicture}
The graph clearly shows that the \speed{velocity} may not be close to
$\speed{v}(\delay{t_0})$ (horizontal dotted line): this is a very rough first
approximation.
Note that $\speed{v_0} \times \delay{t_0}$ is also the area of a rectangle of
height $\speed{v_0}$ and width $\delay{t_0}$. This maps to the green area on
the graph.
For a better approximation, we will simply split this in several parts of width
$\delay{h}$.
For instance, we can assume that, from time $\delay{t} = \delay{0s}$ to time
$\delay{t} = \delay{h}$, velocity is constant and equal to
$\speed{v}(\delay{h})$. Then, the distance traveled on this duration is simply
$\speed{v}(\delay{h}) \times \delay{h}$; then, from $\delay{h}$ to $\delay{2
h}$, the car further travel $\speed{v}(\delay{2 h}) \times \delay{h}$. Thus,
from time $\delay{t} = \delay{0s}$ to time $\delay{t} = \delay{2 h}$, the car
traveled roughly $\speed{v}(\delay{h}) \times \delay{h} + \speed{v}(\delay{2
h}) \times \delay{h}$.
When we consider more steps, we will want to avoid writing the whole sum.
Instead, we can use the $\Sigma$-notation ("sigma", Greek equivalent of $s$) to
denote a sum:
\begin{align*}
\sum_{i = 1}^{n} \speed{v}(\delay{i h}) \times h
In other words, $\sum_{i = 1}^{n} \speed{v}(\delay{i h}) \times h$ means "sum
the expression $\speed{v}(\delay{i h}) \times h$ where $i$ takes each of the
integer values from $1$ to $n$".
Here, we will want to have $h \times n = \delay{t_0}$ so that we can retrieve
the distance traveled from time $\delay{t} = \delay{0~s}$ to time $\delay{t} =
\delay{t_0}$.
\begin{tikzpicture}
% I hate LaTeX
% \foreach does not work properly in axis environment
% \pgfplotsinvokeforeach does not work in \foreach
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
xlabel=$\delay{t}$,
ylabel=$\speed{v}$,
clip=false,
scale=0.5,
at={(0,.35\linewidth)},
]
\def\h{4}
\addplot+[color=red]{examplevel2(x)};
\pgfplotsinvokeforeach{0,\h,...,4-\h}{
\coordinate (A) at (axis cs:{#1+\h}, {examplevel2(#1+\h)}) {};
\coordinate (B) at (A -| {axis cs:{#1},0}) {};
\coordinate (C) at (B |- {0,0}) {};
\coordinate (D) at (A |- {0,0}) {};
\fill[green,opacity=0.1] (A) rectangle (C);
\draw (D) -- (A) -- (B) -- (C);
}
\end{axis}
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
xlabel=$\delay{t}$,
ylabel=$\speed{v}$,
clip=false,
scale=0.5,
at={(.35\linewidth,.35\linewidth)},
]
\def\h{1}
\addplot+[color=red]{examplevel2(x)};
\pgfplotsinvokeforeach{0,\h,...,4-\h}{
\coordinate (A) at (axis cs:{#1+\h}, {examplevel2(#1+\h)}) {};
\coordinate (B) at (A -| {axis cs:{#1},0}) {};
\coordinate (C) at (B |- {0,0}) {};
\coordinate (D) at (A |- {0,0}) {};
\fill[green,opacity=0.1] (A) rectangle (C);
\draw (D) -- (A) -- (B) -- (C);
}
\end{axis}
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
xlabel=$\delay{t}$,
ylabel=$\speed{v}$,
clip=false,
scale=0.5,
at={(0,0)},
]
\def\h{.5}
\addplot+[color=red]{examplevel2(x)};
\pgfplotsinvokeforeach{0,\h,...,4-\h}{
\coordinate (A) at (axis cs:{#1+\h}, {examplevel2(#1+\h)}) {};
\coordinate (B) at (A -| {axis cs:{#1},0}) {};
\coordinate (C) at (B |- {0,0}) {};
\coordinate (D) at (A |- {0,0}) {};
\fill[green,opacity=0.1] (A) rectangle (C);
\draw (D) -- (A) -- (B) -- (C);
}
\end{axis}
\begin{axis}[
samples=\samples,
domain=0:5,
ticks=none,
no markers,
axis lines=left,
xlabel=$\delay{t}$,
ylabel=$\speed{v}$,
clip=false,
scale=0.5,
at={(.35\linewidth,0)},
]
\def\h{.1}
\addplot+[color=red]{examplevel2(x)};
\pgfplotsinvokeforeach{0,\h,...,4-\h}{
\coordinate (A) at (axis cs:{#1+\h}, {examplevel2(#1+\h)}) {};
\coordinate (B) at (A -| {axis cs:{#1},0}) {};
\coordinate (C) at (B |- {0,0}) {};
\coordinate (D) at (A |- {0,0}) {};
\fill[green,opacity=0.1] (A) rectangle (C);
\draw (D) -- (A) -- (B) -- (C);
}
\end{axis}
\end{tikzpicture}
By assuming the velocity is constant on smaller and smaller time interval, our
aproximation becomes more precise.
Notice that the value we are looking for is the sum of the surface areas of the
green rectangles. It turns out that this tends to match the value of the
surface area under the curve.
As for derivation, when $\delay{h}$ tends to zero, our rough approximation will
become more precise. Since we stil want $h \times n = \delay{t_0}$ we will
instead make $n$ grow instead, and set $h$ to $\frac {\delay{t_0}} n$:
As $n$ tends to infinity (grows larger and larger), we expect the sum to
converge (come closer and closer) to some fixed value. Again, there is a short
notation for this:
An ever shorter notation when there is no ambiguity is simply:
$$
\int_{\delay{0~s}}^{\delay{t_0}} \speed{v}
$$
Notations with $\dist{\d x}$ and $\delay{\dt}$ make it easy to reason with
derivatives and integrals. Since $\speed{v}$ is the derivative of $\posit{x}$:
This highlights the fact that integrals are just summing up all the variations
between two points (here, from $\delay{t} = \delay{t_1}$ to $\delay{t} =
\delay{t_2}$). In particular, to know the exact value of
$\posit{x}(\delay{t_2})$, we need to know the initial value
$\posit{x}(\delay{t_1})$.
There is also a shorter notation for the difference of a value between two points:
where $\dist{C} = \dist{x}(\delay{0})$ is a value independent of $\delay{t}$
which depends on the initial conditions (e.g. the position of the car at
the initial instant). Each of the possible expression of $\dist{x}$ (depending
on $\dist{C}$) is a primitive of $\speed{\dot x}$.
Geometric integrals
There should be more explanations here, but these formulas shows how we compute
the areas and volumes of common shapes.
A differential equation is an equation whose unknown is a function and
involving a derivative of this function. For example:
$$
\frac {\d f} {\d x} = 3x^2
$$
This is a differential equation and we already know how to solve it (find the
expression of $f$). Here, $f(x) = x^3 + C$ for any constant value $C$ (there
are several possible solutions).
Exponential
The exponential function is defined as $f(x) = e^x$ where $e$ is a mathematical
constant whose value is about $2.718$. It was picked so that:
$$
\frac {\d f} {\d x} = f
$$
In other words:
$$
\frac {\d} {\d x} (e^x) = e^x
$$
If we define $f(x) = e^{g(x)}$ instead, derivation rules gives us:
$$
\frac {\d f(x)} {\d x}
= g'(x) e^{g(x)}
$$
so that $\frac {\d f} {\d x} = g' f$.
First order
Now, consider the following equation:
$$
\frac {\d f} {\d x} = f
$$
We already know that $f(x) = e^x$ is a solution; however, so is $f(x) = 2 e^x$.
Actually, the set of solutions to this equation is the functions $f(x) = C e^x$
where $C$ is any constant value.
The remark we made before tell us how to solve a differential equation of the
form:
$$
\frac {\d f} {\d x} = h f
$$
where $h$ is also a function. We just need to find $g$ such that $g' = h$, i.e.
the solutions are: