summaryrefslogtreecommitdiff
path: root/content/know
diff options
context:
space:
mode:
Diffstat (limited to 'content/know')
-rw-r--r--content/know/concept/cavitation/index.pdc119
-rw-r--r--content/know/concept/rayleigh-plesset-equation/index.pdc110
-rw-r--r--content/know/concept/toffoli-gate/and.pngbin0 -> 7765 bytes
-rw-r--r--content/know/concept/toffoli-gate/index.pdc93
-rw-r--r--content/know/concept/toffoli-gate/nand.pngbin0 -> 8119 bytes
-rw-r--r--content/know/concept/toffoli-gate/not.pngbin0 -> 6051 bytes
-rw-r--r--content/know/concept/toffoli-gate/or.pngbin0 -> 18615 bytes
-rw-r--r--content/know/concept/toffoli-gate/toffoli.pngbin0 -> 3979 bytes
-rw-r--r--content/know/concept/toffoli-gate/xor.pngbin0 -> 7708 bytes
-rw-r--r--content/know/concept/von-neumann-extractor/index.pdc85
10 files changed, 407 insertions, 0 deletions
diff --git a/content/know/concept/cavitation/index.pdc b/content/know/concept/cavitation/index.pdc
new file mode 100644
index 0000000..8f6b0c4
--- /dev/null
+++ b/content/know/concept/cavitation/index.pdc
@@ -0,0 +1,119 @@
+---
+title: "Cavitation"
+firstLetter: "C"
+publishDate: 2021-04-09
+categories:
+- Physics
+- Fluid mechanics
+- Fluid dynamics
+
+date: 2021-04-06T19:03:36+02:00
+draft: false
+markup: pandoc
+---
+
+# Cavitation
+
+In a liquid, **cavitation** is the spontaneous appearance of bubbles,
+occurring when the pressure in a part of the liquid drops
+below its vapour pressure, e.g. due to the fast movements.
+When such a bubble is subjected to a higher pressure
+by the surrounding liquid, it quickly implodes.
+
+To model this case, we use the simple form of
+the [Rayleigh-Plesset equation](/know/concept/rayleigh-plesset-equation/)
+for an inviscid liquid without surface tension.
+Note that the RP equation assumes incompressibility.
+
+We assume that the whole liquid is at a constant pressure $p_\infty$,
+and the bubble is empty, such that the interface pressure $P = 0$,
+meaning $\Delta p = - p_\infty$.
+At first, the radius is stationary $R'(0) = 0$,
+and given by a constant $R(0) = a$.
+The simple Rayleigh-Plesset equation is then:
+
+$$\begin{aligned}
+ R \dv[2]{R}{t} + \frac{3}{2} \bigg( \dv{R}{t} \bigg)^2
+ = - \frac{p_\infty}{\rho}
+\end{aligned}$$
+
+To solve it, we multiply both sides by $R^2 R'$
+and rewrite it in the following way:
+
+$$\begin{aligned}
+ - 2 \frac{p_\infty}{\rho} R^2 R'
+ &= 2 R^3 R' R'' + 3 R^2 (R')^3
+ \\
+ - \frac{2 p_\infty}{3 \rho} \dv{t} \Big( R^3 \Big)
+ &= \dv{t} \Big( R^3 (R')^2 \Big)
+\end{aligned}$$
+
+It is then straightforward to integrate both sides
+with respect to time $\tau$, from $0$ to $t$:
+
+$$\begin{aligned}
+ - \frac{2 p_\infty}{3 \rho} \int_0^t \dv{\tau} \Big( R^3 \Big) \dd{\tau}
+ &= \int_0^t \dv{\tau} \Big( R^3 (R')^2 \Big) \dd{\tau}
+ \\
+ - \frac{2 p_\infty}{3 \rho} \Big[ R^3 \Big]_0^t
+ &= \Big[ R^3 (R')^2 \Big]_0^t
+ \\
+ - \frac{2 p_\infty}{3 \rho} \Big( R^3(t) - a^3 \Big)
+ &= \Big( R^3(t) \: \big(R'(t)\big)^2 \Big)
+\end{aligned}$$
+
+Rearranging this equation yields the following expression
+for the derivative $R'$:
+
+$$\begin{aligned}
+ (R')^2
+ = \frac{2 p_\infty}{3 \rho} \Big( \frac{a^3}{R^3} - 1 \Big)
+\end{aligned}$$
+
+This equation is nasty to integrate.
+The trick is to invert $R(t)$ into $t(R)$,
+and, because we are only interested in collapse,
+we just need to consider the case $R' < 0$.
+The time of a given radius $R$ is then as follows,
+where we are using slightly sloppy notation:
+
+$$\begin{aligned}
+ t
+ = \int_0^t \dd{\tau}
+ = - \int_{a}^{R} \frac{\dd{R}}{R'}
+ = \int_{R}^{a} \frac{\dd{R}}{R'}
+\end{aligned}$$
+
+The minus comes from the constraint that $R' < 0$, but $t \ge 0$.
+We insert the expression for $R'$:
+
+$$\begin{aligned}
+ t
+ = \sqrt{\frac{3 \rho}{2 p_\infty}} \int_{R}^{a} \Bigg( \sqrt{ \frac{a^3}{R^3} - 1 } \Bigg)^{-1} \dd{R}
+ = \sqrt{\frac{3 \rho a^2}{2 p_\infty}} \int_{R/a}^{1} \frac{1}{\sqrt{x^{-3} - 1}} \dd{x}
+\end{aligned}$$
+
+This integral needs to be looked up,
+and involves the hypergeometric function ${}_2 F_1$.
+However, we only care about *collapse*, which is when $R = 0$.
+The time $t_0$ at which this occurs is:
+
+$$\begin{aligned}
+ t_0
+ = \sqrt{\frac{3 \rho a^2}{2 p_\infty}} \sqrt{\frac{3 \pi}{2}} \frac{\Gamma(5/6)}{\Gamma(1/3)}
+ \approx \sqrt{\frac{3 \rho a^2}{2 p_\infty}} 0.915 \:\mathrm{s}
+\end{aligned}$$
+
+With our assumptions, a bubble will always collapse.
+However, unsurprisingly, reality turns out to be more complicated:
+as $R \to 0$, the interface velocity $R' \to \infty$.
+By looking at the derivation of the Rayleigh-Plesset equation,
+it can be shown that the pressure just outside the bubble diverges due to $R'$.
+This drastically changes the liquid's properties, and breaks our assumptions.
+
+
+
+## References
+1. B. Lautrup,
+ *Physics of continuous matter: exotic and everyday phenomena in the macroscopic world*, 2nd edition,
+ CRC Press.
diff --git a/content/know/concept/rayleigh-plesset-equation/index.pdc b/content/know/concept/rayleigh-plesset-equation/index.pdc
new file mode 100644
index 0000000..ee8622b
--- /dev/null
+++ b/content/know/concept/rayleigh-plesset-equation/index.pdc
@@ -0,0 +1,110 @@
+---
+title: "Rayleigh-Plesset equation"
+firstLetter: "R"
+publishDate: 2021-04-06
+categories:
+- Physics
+- Fluid mechanics
+- Fluid dynamics
+
+date: 2021-04-06T19:03:36+02:00
+draft: false
+markup: pandoc
+---
+
+# Rayleigh-Plesset equation
+
+In fluid dynamics, the **Rayleigh-Plesset equation**
+describes how the radius of a spherical bubble evolves in time
+inside an incompressible liquid.
+Notably, it leads to [cavitation](/know/concept/cavitation/).
+
+
+## Simple form
+
+The simplest version of the Rayleigh-Plesset equation is found
+in the limiting case of a liquid with zero viscosity zero surface tension.
+
+Consider one of the [Euler equations](/know/concept/euler-equations/)
+for the velocity field $\va{v}$,
+where $\rho$ is the (constant) density:
+
+$$\begin{aligned}
+ \frac{\mathrm{D} \va{v}}{\mathrm{D} t}
+ = \pdv{\va{v}}{t} + (\va{v} \cdot \nabla) \va{v}
+ = - \frac{\nabla p}{\rho}
+\end{aligned}$$
+
+We make the ansatz $\va{v} = v(r, t) \vu{e}_r$,
+where $\vu{e}_r$ is the basis vector;
+in other words, we demand that the only spatial variation of the flow is in $r$.
+The above Euler equation then becomes:
+
+$$\begin{aligned}
+ \pdv{v}{t} + v \pdv{v}{r}
+ = - \frac{1}{\rho} \pdv{p}{r}
+\end{aligned}$$
+
+Meanwhile, the incompressibility condition
+is as follows in this situation:
+
+$$\begin{aligned}
+ \nabla \cdot \va{v}
+ = \frac{1}{r^2} \pdv{(r^2 v)}{r}
+ = 0
+\end{aligned}$$
+
+This is only satisfied if $r^2 v$ is constant with respect to $r$,
+leading us to a solution $v(r)$ given by:
+
+$$\begin{aligned}
+ v(r)
+ = \frac{C(t)}{r^2}
+\end{aligned}$$
+
+Where $C(t)$ is an unknown function that does not depend on $r$.
+We then insert this result in the earlier Euler equation,
+and isolate it for $\pdv*{p}{r}$, yielding:
+
+$$\begin{aligned}
+ \pdv{p}{r}
+ = - \rho \bigg( \pdv{v}{t} + v \pdv{v}{r} \bigg)
+ = - \rho \bigg( \frac{1}{r^2} C' - \frac{2}{r^5} C^2 \bigg)
+\end{aligned}$$
+
+Integrating this with respect to $r$ yields the following expression for $p$,
+where $p_\infty$ is the (possibly time-dependent) pressure at $r = \infty$:
+
+$$\begin{aligned}
+ p(r, t)
+ = p_\infty(t) + \rho \bigg( \frac{1}{r} C'(t) - \frac{1}{2 r^4} C^2(t) \bigg)
+\end{aligned}$$
+
+We now consider a spherical bubble with radius $R(t)$ and pressure $P(t)$ along the liquid surface.
+To study the liquid boundary's movement, we set $r = R$ and $p = P$,
+and see that $R'(t) = v(t)$, such that $C = r^2 V = R^2 R'$.
+We thus arrive at:
+
+$$\begin{aligned}
+ P
+ &= p_\infty + \rho \bigg( \frac{1}{R} \dv{(R^2 R')}{t} - \frac{1}{2 R^4} (R^2 R')^2 \bigg)
+ \\
+ &= p_\infty + \rho \bigg( 2 (R')^2 + R R'' - \frac{1}{2} (R')^2 \bigg)
+\end{aligned}$$
+
+Rearranging this and defining $\Delta p = P - p_\infty$
+leads to the simple Rayleigh-Plesset equation:
+
+$$\begin{aligned}
+ \boxed{
+ R \dv[2]{R}{t} + \frac{3}{2} \bigg( \dv{R}{t} \bigg)^2
+ = \frac{\Delta p}{\rho}
+ }
+\end{aligned}$$
+
+
+
+## References
+1. B. Lautrup,
+ *Physics of continuous matter: exotic and everyday phenomena in the macroscopic world*, 2nd edition,
+ CRC Press.
diff --git a/content/know/concept/toffoli-gate/and.png b/content/know/concept/toffoli-gate/and.png
new file mode 100644
index 0000000..c406fda
--- /dev/null
+++ b/content/know/concept/toffoli-gate/and.png
Binary files differ
diff --git a/content/know/concept/toffoli-gate/index.pdc b/content/know/concept/toffoli-gate/index.pdc
new file mode 100644
index 0000000..84e7656
--- /dev/null
+++ b/content/know/concept/toffoli-gate/index.pdc
@@ -0,0 +1,93 @@
+---
+title: "Toffoli gate"
+firstLetter: "T"
+publishDate: 2021-04-09
+categories:
+- Quantum information
+
+date: 2021-04-09T14:44:43+02:00
+draft: false
+markup: pandoc
+---
+
+# Toffoli gate
+
+The **Toffoli gate** or **controlled-controlled-NOT (CCNOT) gate**
+is a logic gate that is *reversible* (no information is lost)
+and *universal* (all reversible logic circuits can be built using Toffoli gates).
+
+It takes three input bits $A$, $B$ and $C$,
+of which it returns $A$ and $B$ unchanged,
+and flips $C$ if both $A$ and $B$ are true.
+In circuit diagrams, its representation is:
+
+<a href="toffoli.png">
+<img src="toffoli.png" style="width:19%;display:block;margin:auto;">
+</a>
+
+This gate is reversible, because $A$ and $B$ are preserved,
+and are all you need to reconstruct to $C$.
+Moreover, this gate is universal,
+because we can make a NAND gate from it:
+
+<a href="nand.png">
+<img src="nand.png" style="width:38%;display:block;margin:auto;">
+</a>
+
+A NAND is enough to implement every conceivable circuit.
+That said, we can efficiently implement NOT, AND, and XOR using a single Toffoli gate too.
+Note that NOT is a special case of NAND:
+
+<a href="not.png">
+<img src="not.png" style="width:32%;display:block;margin:auto;">
+</a>
+
+<a href="and.png">
+<img src="and.png" style="width:35%;display:block;margin:auto;">
+</a>
+
+<a href="xor.png">
+<img src="xor.png" style="width:35%;display:block;margin:auto;">
+</a>
+
+Using these, we can, as an example, make an OR gate
+from three Toffoli gates,
+thanks to the fact that $A \lor B = \neg (\neg A \land \neg B)$,
+i.e. OR is NAND of NOT $A$ and NOT $B$:
+
+<a href="or.png">
+<img src="or.png" style="width:50%;display:block;margin:auto;">
+</a>
+
+Thanks to its reversibility and universality,
+the Toffoli gate is interesting in quantum computing,
+where it is often referred to as the CCNOT gate.
+In the basis $\ket{A} \ket{B} \ket{C}$, its matrix is:
+
+$$\begin{aligned}
+ \boxed{
+ \mathrm{CCNOT} =
+ \begin{bmatrix}
+ 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
+ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
+ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
+ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\
+ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\
+ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\
+ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
+ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0
+ \end{bmatrix}
+ }
+\end{aligned}$$
+
+If we apply this gate to an arbitrary three-qubit state $\ket{\psi}$,
+it swaps the last two coefficients:
+
+$$\begin{aligned}
+ \mathrm{CCNOT} \ket{\psi}
+ &= \mathrm{CCNOT} \big( c_{000} \ket{000} + c_{001} \ket{001} + c_{010} \ket{010} + c_{011} \ket{011} \\
+ &\qquad\qquad\quad\:\; c_{100} \ket{100} + c_{101} \ket{101} + c_{110} \ket{110} + c_{111} \ket{111} \big)
+ \\
+ &= c_{000} \ket{000} + c_{001} \ket{001} + c_{010} \ket{010} + c_{011} \ket{011} \\
+ &\quad\,\, c_{100} \ket{100} + c_{101} \ket{101} + c_{111} \ket{110} + c_{110} \ket{111}
+\end{aligned}$$
diff --git a/content/know/concept/toffoli-gate/nand.png b/content/know/concept/toffoli-gate/nand.png
new file mode 100644
index 0000000..5086537
--- /dev/null
+++ b/content/know/concept/toffoli-gate/nand.png
Binary files differ
diff --git a/content/know/concept/toffoli-gate/not.png b/content/know/concept/toffoli-gate/not.png
new file mode 100644
index 0000000..910cc85
--- /dev/null
+++ b/content/know/concept/toffoli-gate/not.png
Binary files differ
diff --git a/content/know/concept/toffoli-gate/or.png b/content/know/concept/toffoli-gate/or.png
new file mode 100644
index 0000000..8cb8763
--- /dev/null
+++ b/content/know/concept/toffoli-gate/or.png
Binary files differ
diff --git a/content/know/concept/toffoli-gate/toffoli.png b/content/know/concept/toffoli-gate/toffoli.png
new file mode 100644
index 0000000..53f3351
--- /dev/null
+++ b/content/know/concept/toffoli-gate/toffoli.png
Binary files differ
diff --git a/content/know/concept/toffoli-gate/xor.png b/content/know/concept/toffoli-gate/xor.png
new file mode 100644
index 0000000..4cebb3b
--- /dev/null
+++ b/content/know/concept/toffoli-gate/xor.png
Binary files differ
diff --git a/content/know/concept/von-neumann-extractor/index.pdc b/content/know/concept/von-neumann-extractor/index.pdc
new file mode 100644
index 0000000..6e7caa3
--- /dev/null
+++ b/content/know/concept/von-neumann-extractor/index.pdc
@@ -0,0 +1,85 @@
+---
+title: "Von Neumann extractor"
+firstLetter: "V"
+publishDate: 2021-04-09
+categories:
+- Cryptography
+
+date: 2021-04-09T19:59:31+02:00
+draft: false
+markup: pandoc
+---
+
+# Von Neumann extractor
+
+The **Von Neumann extractor** is a simple example of a **randomness extractor**:
+given a stream of "imperfectly random" bits,
+it extracts the entropy, and outputs a "perfectly random" stream.
+
+As input, the Von Neumann extractor expects
+a stream of independent (uncorrelated) bits,
+i.e. the result of a [Bernoulli process](/know/concept/binomial-distribution/),
+where each bit is $0$ with probability $p$,
+and $1$ with probability $1 \!-\! p$.
+Crucially, $p$ does not need to be $1/2$;
+there may be a bias.
+
+The extractor will output a uniformly random stream with $p = 1/2$.
+Given input bits $a_1, a_2, ...$, it achieves this
+by looking at the bits in pairs $(a_1, a_2)$, $(a_3, a_4)$, etc.
+Then:
+
++ If $a_n = a_{n+1}$, it discards both bits.
++ If $a_n \neq a_{n+1}$, it keeps the first bit $a_n$, and discards $a_{n+1}$.
+
+Evidently, the first case $a_n = a_{n+1}$ occurs with the following probabilities:
+
+$$\begin{aligned}
+ P(0, 0)
+ = p^2
+ \qquad \qquad
+ P(1, 1)
+ = (1 - p)^2
+\end{aligned}$$
+
+Meanwhile, the second case $a_n \neq a_{n+1}$ occurs with probabilities given by:
+
+$$\begin{aligned}
+ P(0, 1)
+ = p (p - 1)
+ \qquad \qquad
+ P(1, 0)
+ = (p - 1) p
+\end{aligned}$$
+
+Crucially, they are equal; $P(0, 1) = P(1, 0)$.
+Therefore, if the extractor encounters an input pair satisfying $a_n \neq a_{n+1}$,
+the first bit $a_n$ is $0$ or $1$ with a 50-50 probability,
+regardless of $p$.
+Since the extractor only keeps those bits,
+its output is guaranteed to be "perfectly random".
+
+Clearly, because it discards many of the bits,
+the output stream will have a length $N_\mathrm{out} < N_\mathrm{in}$.
+The exact value of $N_\mathrm{out}$ is as follows,
+where $P(0, 1) + P(1, 0)$ is the probability that we keep a bit,
+and the factor $1/2$ is due to us discarding half of the pair even in that case:
+
+$$\begin{aligned}
+ N_\mathrm{out}
+ = \frac{1}{2} N_\mathrm{in} \Big( P(0, 1) + P(1, 0) \Big)
+ = \frac{1}{2} N_\mathrm{in} \Big( 2 p (p - 1) \Big)
+ = N_\mathrm{in} p (p - 1)
+\end{aligned}$$
+
+The key assumption that allows the Von Neumann extractor to work
+is that there is no correlation at all between the bits.
+In practice, this may be difficult to achieve,
+in which case a more complex randomness extraction scheme is needed.
+
+
+
+## References
+1. J.B. Brask,
+ *Quantum information: lecture notes*,
+ 2021, unpublished.