summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/_includes/image.html34
-rw-r--r--source/know/concept/bernstein-vazirani-algorithm/bernstein-vazirani-circuit.avifbin0 -> 3710 bytes
-rw-r--r--source/know/concept/bernstein-vazirani-algorithm/index.md4
-rw-r--r--source/know/concept/bloch-sphere/bloch-small.jpgbin37110 -> 0 bytes
-rw-r--r--source/know/concept/bloch-sphere/bloch.jpgbin98023 -> 0 bytes
-rw-r--r--source/know/concept/bloch-sphere/index.md4
-rw-r--r--source/know/concept/bloch-sphere/sketch-full.pngbin0 -> 98869 bytes
-rw-r--r--source/know/concept/bloch-sphere/sketch-half.avifbin0 -> 11592 bytes
-rw-r--r--source/know/concept/bloch-sphere/sketch-half.jpgbin0 -> 56094 bytes
-rw-r--r--source/know/concept/bloch-sphere/sketch-half.pngbin0 -> 60457 bytes
-rw-r--r--source/know/concept/bloch-sphere/sketch-half.webpbin0 -> 27428 bytes
-rw-r--r--source/know/concept/deutsch-jozsa-algorithm/deutsch-circuit.avifbin0 -> 2028 bytes
-rw-r--r--source/know/concept/deutsch-jozsa-algorithm/deutsch-jozsa-circuit.avifbin0 -> 3311 bytes
-rw-r--r--source/know/concept/deutsch-jozsa-algorithm/index.md12
-rw-r--r--source/know/concept/dispersive-broadening/index.md4
-rw-r--r--source/know/concept/dispersive-broadening/pheno-disp-small.jpgbin95385 -> 0 bytes
-rw-r--r--source/know/concept/dispersive-broadening/pheno-disp.jpgbin285990 -> 0 bytes
-rw-r--r--source/know/concept/dispersive-broadening/simulation-full.pngbin0 -> 670730 bytes
-rw-r--r--source/know/concept/dispersive-broadening/simulation-half.avifbin0 -> 30415 bytes
-rw-r--r--source/know/concept/dispersive-broadening/simulation-half.jpgbin0 -> 137095 bytes
-rw-r--r--source/know/concept/dispersive-broadening/simulation-half.pngbin0 -> 183226 bytes
-rw-r--r--source/know/concept/dispersive-broadening/simulation-half.webpbin0 -> 63436 bytes
-rw-r--r--source/know/concept/fabry-perot-cavity/cavity.pngbin11749 -> 0 bytes
-rw-r--r--source/know/concept/fabry-perot-cavity/index.md6
-rw-r--r--source/know/concept/fabry-perot-cavity/sketch-full.pngbin0 -> 15362 bytes
-rw-r--r--source/know/concept/fabry-perot-cavity/sketch-half.avifbin0 -> 2481 bytes
-rw-r--r--source/know/concept/fabry-perot-cavity/sketch-half.jpgbin0 -> 12307 bytes
-rw-r--r--source/know/concept/fabry-perot-cavity/sketch-half.pngbin0 -> 11616 bytes
-rw-r--r--source/know/concept/fabry-perot-cavity/sketch-half.webpbin0 -> 4702 bytes
-rw-r--r--source/know/concept/feynman-diagram/boson.avifbin0 -> 3329 bytes
-rw-r--r--source/know/concept/feynman-diagram/boson.png (renamed from source/know/concept/feynman-diagram/interaction.png)bin4811 -> 4811 bytes
-rw-r--r--source/know/concept/feynman-diagram/example.avifbin0 -> 4916 bytes
-rw-r--r--source/know/concept/feynman-diagram/example.png (renamed from source/know/concept/feynman-diagram/conservation.png)bin6878 -> 6878 bytes
-rw-r--r--source/know/concept/feynman-diagram/fermion-heavy.avifbin0 -> 1992 bytes
-rw-r--r--source/know/concept/feynman-diagram/fermion-heavy.png (renamed from source/know/concept/feynman-diagram/fullgf.png)bin3292 -> 3292 bytes
-rw-r--r--source/know/concept/feynman-diagram/fermion-light.avifbin0 -> 1955 bytes
-rw-r--r--source/know/concept/feynman-diagram/fermion-light.png (renamed from source/know/concept/feynman-diagram/freegf.png)bin3226 -> 3226 bytes
-rw-r--r--source/know/concept/feynman-diagram/impurity.avifbin0 -> 1211 bytes
-rw-r--r--source/know/concept/feynman-diagram/impurity.png (renamed from source/know/concept/feynman-diagram/perturbation.png)bin1727 -> 1727 bytes
-rw-r--r--source/know/concept/feynman-diagram/index.md23
-rw-r--r--source/know/concept/metacentric-height/index.md4
-rw-r--r--source/know/concept/metacentric-height/sketch-full.pngbin0 -> 154087 bytes
-rw-r--r--source/know/concept/metacentric-height/sketch-half.avifbin0 -> 6411 bytes
-rw-r--r--source/know/concept/metacentric-height/sketch-half.jpgbin0 -> 43008 bytes
-rw-r--r--source/know/concept/metacentric-height/sketch-half.pngbin0 -> 69215 bytes
-rw-r--r--source/know/concept/metacentric-height/sketch-half.webpbin0 -> 16714 bytes
-rw-r--r--source/know/concept/metacentric-height/sketch.jpgbin39522 -> 0 bytes
-rw-r--r--source/know/concept/modulational-instability/index.md4
-rw-r--r--source/know/concept/modulational-instability/pheno-mi-small.jpgbin72375 -> 0 bytes
-rw-r--r--source/know/concept/modulational-instability/pheno-mi.jpgbin256629 -> 0 bytes
-rw-r--r--source/know/concept/modulational-instability/simulation-full.pngbin0 -> 1006532 bytes
-rw-r--r--source/know/concept/modulational-instability/simulation-half.avifbin0 -> 25934 bytes
-rw-r--r--source/know/concept/modulational-instability/simulation-half.jpgbin0 -> 127062 bytes
-rw-r--r--source/know/concept/modulational-instability/simulation-half.pngbin0 -> 225499 bytes
-rw-r--r--source/know/concept/modulational-instability/simulation-half.webpbin0 -> 54176 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/frequency-full.pngbin0 -> 66775 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/frequency-half.avifbin0 -> 12506 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/frequency-half.jpgbin0 -> 52244 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/frequency-half.pngbin0 -> 41824 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/frequency-half.webpbin0 -> 27408 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/index.md12
-rw-r--r--source/know/concept/optical-wave-breaking/pheno-break-inst-small.jpgbin38886 -> 0 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/pheno-break-inst.jpgbin107870 -> 0 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/pheno-break-sgram-small.jpgbin173644 -> 0 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/pheno-break-sgram.jpgbin518792 -> 0 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/pheno-break-small.jpgbin71450 -> 0 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/pheno-break.jpgbin242935 -> 0 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/simulation-full.pngbin0 -> 918927 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/simulation-half.avifbin0 -> 23637 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/simulation-half.jpgbin0 -> 119045 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/simulation-half.pngbin0 -> 232905 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/simulation-half.webpbin0 -> 52558 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/spectrograms-full.pngbin0 -> 1037864 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/spectrograms-half.avifbin0 -> 63914 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/spectrograms-half.jpgbin0 -> 254826 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/spectrograms-half.pngbin0 -> 379410 bytes
-rw-r--r--source/know/concept/optical-wave-breaking/spectrograms-half.webpbin0 -> 132252 bytes
-rw-r--r--source/know/concept/quantum-fourier-transform/index.md8
-rw-r--r--source/know/concept/quantum-fourier-transform/qft-circuit-noswap.avifbin0 -> 6964 bytes
-rw-r--r--source/know/concept/quantum-fourier-transform/qft-circuit-swap.avifbin0 -> 7256 bytes
-rw-r--r--source/know/concept/quantum-gate/cnot.avifbin0 -> 1190 bytes
-rw-r--r--source/know/concept/quantum-gate/cu.avifbin0 -> 1213 bytes
-rw-r--r--source/know/concept/quantum-gate/index.md14
-rw-r--r--source/know/concept/quantum-gate/swap.avifbin0 -> 1166 bytes
-rw-r--r--source/know/concept/random-phase-approximation/dyson.avifbin0 -> 3017 bytes
-rw-r--r--source/know/concept/random-phase-approximation/index.md16
-rw-r--r--source/know/concept/random-phase-approximation/interaction.avifbin0 -> 4946 bytes
-rw-r--r--source/know/concept/random-phase-approximation/interaction.png (renamed from source/know/concept/random-phase-approximation/screened.png)bin7338 -> 7338 bytes
-rw-r--r--source/know/concept/random-phase-approximation/pairbubble.avifbin0 -> 3558 bytes
-rw-r--r--source/know/concept/random-phase-approximation/self-energy.avifbin0 -> 7165 bytes
-rw-r--r--source/know/concept/random-phase-approximation/self-energy.png (renamed from source/know/concept/random-phase-approximation/rpasigma.png)bin10310 -> 10310 bytes
-rw-r--r--source/know/concept/repetition-code/bit-flip-detect.avifbin0 -> 4353 bytes
-rw-r--r--source/know/concept/repetition-code/bit-flip-encode.avifbin0 -> 2298 bytes
-rw-r--r--source/know/concept/repetition-code/index.md103
-rw-r--r--source/know/concept/repetition-code/phase-flip-detect.avifbin0 -> 5468 bytes
-rw-r--r--source/know/concept/repetition-code/phase-flip-encode.avifbin0 -> 2788 bytes
-rw-r--r--source/know/concept/repetition-code/shor-code-encode.avifbin0 -> 4738 bytes
-rw-r--r--source/know/concept/rutherford-scattering/index.md8
-rw-r--r--source/know/concept/rutherford-scattering/one-body-full.pngbin0 -> 41368 bytes
-rw-r--r--source/know/concept/rutherford-scattering/one-body-half.avifbin0 -> 6583 bytes
-rw-r--r--source/know/concept/rutherford-scattering/one-body-half.jpgbin0 -> 28441 bytes
-rw-r--r--source/know/concept/rutherford-scattering/one-body-half.pngbin0 -> 25563 bytes
-rw-r--r--source/know/concept/rutherford-scattering/one-body-half.webpbin0 -> 13456 bytes
-rw-r--r--source/know/concept/rutherford-scattering/one-body.pngbin23646 -> 0 bytes
-rw-r--r--source/know/concept/rutherford-scattering/two-body-full.pngbin0 -> 26122 bytes
-rw-r--r--source/know/concept/rutherford-scattering/two-body-half.avifbin0 -> 4053 bytes
-rw-r--r--source/know/concept/rutherford-scattering/two-body-half.jpgbin0 -> 16968 bytes
-rw-r--r--source/know/concept/rutherford-scattering/two-body-half.png (renamed from source/know/concept/rutherford-scattering/two-body.png)bin15703 -> 15703 bytes
-rw-r--r--source/know/concept/rutherford-scattering/two-body-half.webpbin0 -> 8634 bytes
-rw-r--r--source/know/concept/self-energy/definition.avifbin0 -> 6419 bytes
-rw-r--r--source/know/concept/self-energy/definition.png (renamed from source/know/concept/self-energy/selfenergy.png)bin10213 -> 10213 bytes
-rw-r--r--source/know/concept/self-energy/dyson.avifbin0 -> 4139 bytes
-rw-r--r--source/know/concept/self-energy/expansion.avifbin0 -> 4344 bytes
-rw-r--r--source/know/concept/self-energy/expansion.png (renamed from source/know/concept/self-energy/fullgf.png)bin6127 -> 6127 bytes
-rw-r--r--source/know/concept/self-energy/index.md12
-rw-r--r--source/know/concept/self-phase-modulation/index.md4
-rw-r--r--source/know/concept/self-phase-modulation/pheno-spm-small.jpgbin121984 -> 0 bytes
-rw-r--r--source/know/concept/self-phase-modulation/pheno-spm.jpgbin395877 -> 0 bytes
-rw-r--r--source/know/concept/self-phase-modulation/simulation-full.pngbin0 -> 967896 bytes
-rw-r--r--source/know/concept/self-phase-modulation/simulation-half.avifbin0 -> 44659 bytes
-rw-r--r--source/know/concept/self-phase-modulation/simulation-half.jpgbin0 -> 190616 bytes
-rw-r--r--source/know/concept/self-phase-modulation/simulation-half.pngbin0 -> 319610 bytes
-rw-r--r--source/know/concept/self-phase-modulation/simulation-half.webpbin0 -> 98592 bytes
-rw-r--r--source/know/concept/self-steepening/index.md4
-rw-r--r--source/know/concept/self-steepening/pheno-steep-small.jpgbin91324 -> 0 bytes
-rw-r--r--source/know/concept/self-steepening/pheno-steep.jpgbin327309 -> 0 bytes
-rw-r--r--source/know/concept/self-steepening/simulation-full.pngbin0 -> 772164 bytes
-rw-r--r--source/know/concept/self-steepening/simulation-half.avifbin0 -> 35962 bytes
-rw-r--r--source/know/concept/self-steepening/simulation-half.jpgbin0 -> 141764 bytes
-rw-r--r--source/know/concept/self-steepening/simulation-half.pngbin0 -> 235123 bytes
-rw-r--r--source/know/concept/self-steepening/simulation-half.webpbin0 -> 69112 bytes
-rw-r--r--source/know/concept/shors-algorithm/index.md5
-rw-r--r--source/know/concept/shors-algorithm/shors-circuit.avifbin0 -> 6076 bytes
-rw-r--r--source/know/concept/simons-algorithm/index.md5
-rw-r--r--source/know/concept/simons-algorithm/simons-circuit.avifbin0 -> 4866 bytes
-rw-r--r--source/know/concept/step-index-fiber/bessel-full.pngbin0 -> 268605 bytes
-rw-r--r--source/know/concept/step-index-fiber/bessel-half.avifbin0 -> 39565 bytes
-rw-r--r--source/know/concept/step-index-fiber/bessel-half.jpgbin0 -> 161650 bytes
-rw-r--r--source/know/concept/step-index-fiber/bessel-half.pngbin0 -> 173668 bytes
-rw-r--r--source/know/concept/step-index-fiber/bessel-half.webpbin0 -> 84668 bytes
-rw-r--r--source/know/concept/step-index-fiber/bessel-small.jpgbin145251 -> 0 bytes
-rw-r--r--source/know/concept/step-index-fiber/bessel.jpgbin315522 -> 0 bytes
-rw-r--r--source/know/concept/step-index-fiber/index.md10
-rw-r--r--source/know/concept/step-index-fiber/modes-small.jpgbin91467 -> 0 bytes
-rw-r--r--source/know/concept/step-index-fiber/modes.jpgbin194481 -> 0 bytes
-rw-r--r--source/know/concept/step-index-fiber/transcendental-full.pngbin0 -> 122957 bytes
-rw-r--r--source/know/concept/step-index-fiber/transcendental-half.avifbin0 -> 21001 bytes
-rw-r--r--source/know/concept/step-index-fiber/transcendental-half.jpgbin0 -> 105585 bytes
-rw-r--r--source/know/concept/step-index-fiber/transcendental-half.pngbin0 -> 88945 bytes
-rw-r--r--source/know/concept/step-index-fiber/transcendental-half.webpbin0 -> 49492 bytes
-rw-r--r--source/know/concept/toffoli-gate/and.avifbin0 -> 2109 bytes
-rw-r--r--source/know/concept/toffoli-gate/index.md24
-rw-r--r--source/know/concept/toffoli-gate/nand.avifbin0 -> 1834 bytes
-rw-r--r--source/know/concept/toffoli-gate/not.avifbin0 -> 1518 bytes
-rw-r--r--source/know/concept/toffoli-gate/or.avifbin0 -> 3505 bytes
-rw-r--r--source/know/concept/toffoli-gate/toffoli.avifbin0 -> 1261 bytes
-rw-r--r--source/know/concept/toffoli-gate/xor.avifbin0 -> 2128 bytes
157 files changed, 151 insertions, 169 deletions
diff --git a/source/_includes/image.html b/source/_includes/image.html
new file mode 100644
index 0000000..a9bc3fd
--- /dev/null
+++ b/source/_includes/image.html
@@ -0,0 +1,34 @@
+{% assign name_dot_format = include.file | split: "." %}
+{% assign name = name_dot_format | first %}
+{% assign format = name_dot_format | last %}
+
+{% comment %} Let 'suffix' = last 4 chars of 'name', 'prefix' = the rest {% endcomment %}
+{% assign suffix = name | slice: -4, 4 %}
+{% assign rname = name | split: "" | reverse | join: "" %}
+{% assign rsuffix = suffix | split: "" | reverse | join: "" %}
+{% assign rprefix = rname | remove_first: rsuffix %}
+{% assign prefix = rprefix | split: "" | reverse | join: "" %}
+
+{% comment %} If 'name' ends in "full", half-size image must exist {% endcomment %}
+{% assign name_full = name %}
+{% if suffix == "full" %}
+ {% assign name_half = prefix | append: "half" %}
+{% else %}
+ {% assign name_half = name_full %}
+{% endif %}
+
+{% comment %} Insert the image, linking to the full-size version {% endcomment %}
+<p>
+<a href="{{ name_full }}.{{ format }}">
+ {% assign set_width = "width:" | append: include.width %}
+ <picture markdown="0">
+ <source srcset="{{ name_half }}.avif" type="image/avif">
+ {% if name_full == name_half %}
+ <img src="{{ name_half }}.{{ format }}" style="{{ include.style | default: set_width }}" alt="{{ include.alt }}" title="{{ include.alt }}">
+ {% else %}
+ <source srcset="{{ name_half }}.webp" type="image/webp">
+ <img src="{{ name_half }}.jpg" style="{{ include.style | default: set_width }}" alt="{{ include.alt }}" title="{{ include.alt }}">
+ {% endif %}
+ </picture>
+</a>
+</p>
diff --git a/source/know/concept/bernstein-vazirani-algorithm/bernstein-vazirani-circuit.avif b/source/know/concept/bernstein-vazirani-algorithm/bernstein-vazirani-circuit.avif
new file mode 100644
index 0000000..7bfd114
--- /dev/null
+++ b/source/know/concept/bernstein-vazirani-algorithm/bernstein-vazirani-circuit.avif
Binary files differ
diff --git a/source/know/concept/bernstein-vazirani-algorithm/index.md b/source/know/concept/bernstein-vazirani-algorithm/index.md
index f91c0ba..85017dc 100644
--- a/source/know/concept/bernstein-vazirani-algorithm/index.md
+++ b/source/know/concept/bernstein-vazirani-algorithm/index.md
@@ -36,9 +36,7 @@ However, the Bernstein-Vazirani algorithm
allows a quantum computer to do it with only a single query.
It uses the following circuit:
-<a href="bernstein-vazirani-circuit.png">
-<img src="bernstein-vazirani-circuit.png" style="width:52%">
-</a>
+{% include image.html file="bernstein-vazirani-circuit.png" width="52%" alt="Bernstein-Vazirani circuit" %}
Where $$U_f$$ is a phase oracle,
whose action is defined as follows,
diff --git a/source/know/concept/bloch-sphere/bloch-small.jpg b/source/know/concept/bloch-sphere/bloch-small.jpg
deleted file mode 100644
index e99c0e1..0000000
--- a/source/know/concept/bloch-sphere/bloch-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/bloch-sphere/bloch.jpg b/source/know/concept/bloch-sphere/bloch.jpg
deleted file mode 100644
index 9515d84..0000000
--- a/source/know/concept/bloch-sphere/bloch.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/bloch-sphere/index.md b/source/know/concept/bloch-sphere/index.md
index 2cb7742..0ca6f1b 100644
--- a/source/know/concept/bloch-sphere/index.md
+++ b/source/know/concept/bloch-sphere/index.md
@@ -13,9 +13,7 @@ In quantum mechanics, particularly quantum information,
the **Bloch sphere** is an invaluable tool to visualize qubits.
All pure qubit states are represented by a point on the sphere's surface:
-<a href="bloch.jpg">
-<img src="bloch-small.jpg" style="width:60%">
-</a>
+{% include image.html file="sketch-full.png" width="67%" alt="Bloch sphere" %}
The $$x$$, $$y$$ and $$z$$-axes represent the components of a spin-1/2-alike system,
and their extremes are the eigenstates of the Pauli matrices:
diff --git a/source/know/concept/bloch-sphere/sketch-full.png b/source/know/concept/bloch-sphere/sketch-full.png
new file mode 100644
index 0000000..709aceb
--- /dev/null
+++ b/source/know/concept/bloch-sphere/sketch-full.png
Binary files differ
diff --git a/source/know/concept/bloch-sphere/sketch-half.avif b/source/know/concept/bloch-sphere/sketch-half.avif
new file mode 100644
index 0000000..1752c9d
--- /dev/null
+++ b/source/know/concept/bloch-sphere/sketch-half.avif
Binary files differ
diff --git a/source/know/concept/bloch-sphere/sketch-half.jpg b/source/know/concept/bloch-sphere/sketch-half.jpg
new file mode 100644
index 0000000..28b97d7
--- /dev/null
+++ b/source/know/concept/bloch-sphere/sketch-half.jpg
Binary files differ
diff --git a/source/know/concept/bloch-sphere/sketch-half.png b/source/know/concept/bloch-sphere/sketch-half.png
new file mode 100644
index 0000000..d48102d
--- /dev/null
+++ b/source/know/concept/bloch-sphere/sketch-half.png
Binary files differ
diff --git a/source/know/concept/bloch-sphere/sketch-half.webp b/source/know/concept/bloch-sphere/sketch-half.webp
new file mode 100644
index 0000000..257145b
--- /dev/null
+++ b/source/know/concept/bloch-sphere/sketch-half.webp
Binary files differ
diff --git a/source/know/concept/deutsch-jozsa-algorithm/deutsch-circuit.avif b/source/know/concept/deutsch-jozsa-algorithm/deutsch-circuit.avif
new file mode 100644
index 0000000..c498cd9
--- /dev/null
+++ b/source/know/concept/deutsch-jozsa-algorithm/deutsch-circuit.avif
Binary files differ
diff --git a/source/know/concept/deutsch-jozsa-algorithm/deutsch-jozsa-circuit.avif b/source/know/concept/deutsch-jozsa-algorithm/deutsch-jozsa-circuit.avif
new file mode 100644
index 0000000..2312ff3
--- /dev/null
+++ b/source/know/concept/deutsch-jozsa-algorithm/deutsch-jozsa-circuit.avif
Binary files differ
diff --git a/source/know/concept/deutsch-jozsa-algorithm/index.md b/source/know/concept/deutsch-jozsa-algorithm/index.md
index bbdd58d..5f2f268 100644
--- a/source/know/concept/deutsch-jozsa-algorithm/index.md
+++ b/source/know/concept/deutsch-jozsa-algorithm/index.md
@@ -27,6 +27,7 @@ while classical computers need up to $$2^{N - 1} + 1$$ queries
for an $$N$$-bit $$x$$.
+
## Deutsch algorithm
The Deutsch algorithm handles the simplest case,
@@ -40,9 +41,7 @@ In other words, we only need to determine if $$f(0) = f(1)$$ or $$f(0) \neq f(1)
To do this, we use the following quantum circuit,
where $$U_f$$ is the oracle we query:
-<a href="deutsch-circuit.png">
-<img src="deutsch-circuit.png" style="width:48%">
-</a>
+{% include image.html file="deutsch-circuit.png" width="48%" alt="Deutsch circuit" %}
Due to unitarity constraints,
the action of $$U_f$$ is defined to be as follows,
@@ -134,16 +133,15 @@ A classical computer would need to query it twice,
once with input $$x = 0$$, and again with $$x = 1$$.
-## Full Deutsch-Jozsa algorithm
+
+## Deutsch-Jozsa algorithm
The Deutsch-Jozsa algorithm generalizes the above to $$N$$-bit inputs $$x$$.
We are promised that $$f(x)$$ is either constant or balanced;
other possibilities are assumed to be impossible.
This algorithm is then implemented by the following quantum circuit:
-<a href="deutsch-jozsa-circuit.png">
-<img src="deutsch-jozsa-circuit.png" style="width:52%">
-</a>
+{% include image.html file="deutsch-jozsa-circuit.png" width="52%" alt="Deutsch-Jozsa circuit" %}
There are $$N$$ qubits in initial state $$\Ket{0}$$, and one in $$\Ket{1}$$.
For clarity, the oracle $$U_f$$ works like so:
diff --git a/source/know/concept/dispersive-broadening/index.md b/source/know/concept/dispersive-broadening/index.md
index 4e4cf82..746eb6d 100644
--- a/source/know/concept/dispersive-broadening/index.md
+++ b/source/know/concept/dispersive-broadening/index.md
@@ -59,9 +59,7 @@ This phenomenon is illustrated below for our example of a Gaussian pulse
with parameter values $$T_0 = 1\:\mathrm{ps}$$, $$P_0 = 1\:\mathrm{kW}$$,
$$\beta_2 = -10 \:\mathrm{ps}^2/\mathrm{m}$$ and $$\gamma = 0$$:
-<a href="pheno-disp.jpg">
-<img src="pheno-disp-small.jpg" style="width:100%">
-</a>
+{% include image.html file="simulation-full.png" width="100%" alt="Dispersive broadening simulation results" %}
The **instantaneous frequency** $$\omega_\mathrm{GVD}(z, t)$$,
which describes the dominant angular frequency at a given point in the time domain,
diff --git a/source/know/concept/dispersive-broadening/pheno-disp-small.jpg b/source/know/concept/dispersive-broadening/pheno-disp-small.jpg
deleted file mode 100644
index 8c70eac..0000000
--- a/source/know/concept/dispersive-broadening/pheno-disp-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/dispersive-broadening/pheno-disp.jpg b/source/know/concept/dispersive-broadening/pheno-disp.jpg
deleted file mode 100644
index a97312b..0000000
--- a/source/know/concept/dispersive-broadening/pheno-disp.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/dispersive-broadening/simulation-full.png b/source/know/concept/dispersive-broadening/simulation-full.png
new file mode 100644
index 0000000..5ff78dc
--- /dev/null
+++ b/source/know/concept/dispersive-broadening/simulation-full.png
Binary files differ
diff --git a/source/know/concept/dispersive-broadening/simulation-half.avif b/source/know/concept/dispersive-broadening/simulation-half.avif
new file mode 100644
index 0000000..7f5d2ad
--- /dev/null
+++ b/source/know/concept/dispersive-broadening/simulation-half.avif
Binary files differ
diff --git a/source/know/concept/dispersive-broadening/simulation-half.jpg b/source/know/concept/dispersive-broadening/simulation-half.jpg
new file mode 100644
index 0000000..3d9a53a
--- /dev/null
+++ b/source/know/concept/dispersive-broadening/simulation-half.jpg
Binary files differ
diff --git a/source/know/concept/dispersive-broadening/simulation-half.png b/source/know/concept/dispersive-broadening/simulation-half.png
new file mode 100644
index 0000000..a7b4aac
--- /dev/null
+++ b/source/know/concept/dispersive-broadening/simulation-half.png
Binary files differ
diff --git a/source/know/concept/dispersive-broadening/simulation-half.webp b/source/know/concept/dispersive-broadening/simulation-half.webp
new file mode 100644
index 0000000..a781bc4
--- /dev/null
+++ b/source/know/concept/dispersive-broadening/simulation-half.webp
Binary files differ
diff --git a/source/know/concept/fabry-perot-cavity/cavity.png b/source/know/concept/fabry-perot-cavity/cavity.png
deleted file mode 100644
index f7b0c2a..0000000
--- a/source/know/concept/fabry-perot-cavity/cavity.png
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/fabry-perot-cavity/index.md b/source/know/concept/fabry-perot-cavity/index.md
index 980fa54..6eefc6e 100644
--- a/source/know/concept/fabry-perot-cavity/index.md
+++ b/source/know/concept/fabry-perot-cavity/index.md
@@ -19,9 +19,8 @@ We divide the $$x$$-axis into three domains: left $$L$$, center $$C$$, and right
The cavity $$C$$ has length $$\ell$$ and is centered on $$x = 0$$.
Let $$n_L$$, $$n_C$$ and $$n_R$$ be the respective domains' refractive indices:
-<a href="cavity.png">
-<img src="cavity.png" style="width:70%">
-</a>
+{% include image.html file="sketch-full.png" width="70%" alt="Cavity structure" %}
+
## Microscopic cavity
@@ -129,6 +128,7 @@ $$A_1$$, $$A_2$$, $$A_3$$ or $$A_4$$ freely,
and then the others are determined by $$k_m$$ and the field's continuity.
+
## Macroscopic cavity
Next, consider a "macroscopic" Fabry-Pérot cavity
diff --git a/source/know/concept/fabry-perot-cavity/sketch-full.png b/source/know/concept/fabry-perot-cavity/sketch-full.png
new file mode 100644
index 0000000..0568fd2
--- /dev/null
+++ b/source/know/concept/fabry-perot-cavity/sketch-full.png
Binary files differ
diff --git a/source/know/concept/fabry-perot-cavity/sketch-half.avif b/source/know/concept/fabry-perot-cavity/sketch-half.avif
new file mode 100644
index 0000000..e980a70
--- /dev/null
+++ b/source/know/concept/fabry-perot-cavity/sketch-half.avif
Binary files differ
diff --git a/source/know/concept/fabry-perot-cavity/sketch-half.jpg b/source/know/concept/fabry-perot-cavity/sketch-half.jpg
new file mode 100644
index 0000000..8ca9aad
--- /dev/null
+++ b/source/know/concept/fabry-perot-cavity/sketch-half.jpg
Binary files differ
diff --git a/source/know/concept/fabry-perot-cavity/sketch-half.png b/source/know/concept/fabry-perot-cavity/sketch-half.png
new file mode 100644
index 0000000..38cace9
--- /dev/null
+++ b/source/know/concept/fabry-perot-cavity/sketch-half.png
Binary files differ
diff --git a/source/know/concept/fabry-perot-cavity/sketch-half.webp b/source/know/concept/fabry-perot-cavity/sketch-half.webp
new file mode 100644
index 0000000..d6be4d9
--- /dev/null
+++ b/source/know/concept/fabry-perot-cavity/sketch-half.webp
Binary files differ
diff --git a/source/know/concept/feynman-diagram/boson.avif b/source/know/concept/feynman-diagram/boson.avif
new file mode 100644
index 0000000..576e668
--- /dev/null
+++ b/source/know/concept/feynman-diagram/boson.avif
Binary files differ
diff --git a/source/know/concept/feynman-diagram/interaction.png b/source/know/concept/feynman-diagram/boson.png
index 3c2d093..3c2d093 100644
--- a/source/know/concept/feynman-diagram/interaction.png
+++ b/source/know/concept/feynman-diagram/boson.png
Binary files differ
diff --git a/source/know/concept/feynman-diagram/example.avif b/source/know/concept/feynman-diagram/example.avif
new file mode 100644
index 0000000..0dfa15c
--- /dev/null
+++ b/source/know/concept/feynman-diagram/example.avif
Binary files differ
diff --git a/source/know/concept/feynman-diagram/conservation.png b/source/know/concept/feynman-diagram/example.png
index 1d19fd0..1d19fd0 100644
--- a/source/know/concept/feynman-diagram/conservation.png
+++ b/source/know/concept/feynman-diagram/example.png
Binary files differ
diff --git a/source/know/concept/feynman-diagram/fermion-heavy.avif b/source/know/concept/feynman-diagram/fermion-heavy.avif
new file mode 100644
index 0000000..6618736
--- /dev/null
+++ b/source/know/concept/feynman-diagram/fermion-heavy.avif
Binary files differ
diff --git a/source/know/concept/feynman-diagram/fullgf.png b/source/know/concept/feynman-diagram/fermion-heavy.png
index f376ef2..f376ef2 100644
--- a/source/know/concept/feynman-diagram/fullgf.png
+++ b/source/know/concept/feynman-diagram/fermion-heavy.png
Binary files differ
diff --git a/source/know/concept/feynman-diagram/fermion-light.avif b/source/know/concept/feynman-diagram/fermion-light.avif
new file mode 100644
index 0000000..196334b
--- /dev/null
+++ b/source/know/concept/feynman-diagram/fermion-light.avif
Binary files differ
diff --git a/source/know/concept/feynman-diagram/freegf.png b/source/know/concept/feynman-diagram/fermion-light.png
index 632ccaf..632ccaf 100644
--- a/source/know/concept/feynman-diagram/freegf.png
+++ b/source/know/concept/feynman-diagram/fermion-light.png
Binary files differ
diff --git a/source/know/concept/feynman-diagram/impurity.avif b/source/know/concept/feynman-diagram/impurity.avif
new file mode 100644
index 0000000..1f78d10
--- /dev/null
+++ b/source/know/concept/feynman-diagram/impurity.avif
Binary files differ
diff --git a/source/know/concept/feynman-diagram/perturbation.png b/source/know/concept/feynman-diagram/impurity.png
index 2e8fbf6..2e8fbf6 100644
--- a/source/know/concept/feynman-diagram/perturbation.png
+++ b/source/know/concept/feynman-diagram/impurity.png
Binary files differ
diff --git a/source/know/concept/feynman-diagram/index.md b/source/know/concept/feynman-diagram/index.md
index c36e7df..ace8dbc 100644
--- a/source/know/concept/feynman-diagram/index.md
+++ b/source/know/concept/feynman-diagram/index.md
@@ -25,6 +25,7 @@ Below, we go through the most notable components of Feynman diagrams
and how to translate them into a mathematical expression.
+
## Real space
The most common component is a **fermion line**, which represents
@@ -37,9 +38,7 @@ Let the subscript $$I$$ refer to the
and $$\mathcal{T}\{\}$$ denote the
[time-ordered product](/know/concept/time-ordered-product/):
-<a href="freegf.png">
-<img src="freegf.png" style="width:60%">
-</a>
+{% include image.html file="fermion-light.png" width="60%" alt="Fermion line diagram" %}
$$\begin{aligned}
= i \hbar G_{s_2 s_1}^0(\vb{r}_2, t_2; \vb{r}_1, t_1)
@@ -59,9 +58,7 @@ Less common is a **heavy fermion line**, representing
a causal Green's function $$G$$ for the entire Hamiltonian $$\hat{H}$$,
where the subscript $$H$$ refers to the [Heisenberg picture](/know/concept/heisenberg-picture/):
-<a href="fullgf.png">
-<img src="fullgf.png" style="width:60%">
-</a>
+{% include image.html file="fermion-heavy.png" width="60%" alt="Heavy fermion line diagram" %}
$$\begin{aligned}
= i \hbar G_{s_2 s_1}(\vb{r}_2, t_2; \vb{r}_1, t_1)
@@ -75,9 +72,7 @@ which we assume to be instantaneous, i.e. time-independent
hence it starts and ends at the same time,
and no arrow is drawn:
-<a href="interaction.png">
-<img src="interaction.png" style="width:60%">
-</a>
+{% include image.html file="boson.png" width="60%" alt="Boson/interaction line diagram" %}
$$\begin{aligned}
= \frac{1}{i \hbar} W_{s_2 s_1}(\vb{r}_2, t_2; \vb{r}_1, t_1)
@@ -99,9 +94,7 @@ $$\begin{aligned}
One-body (time-dependent) operators $$\hat{V}$$ in $$\hat{H}_1$$
are instead represented by a special vertex:
-<a href="perturbation.png">
-<img src="perturbation.png" style="width:35%">
-</a>
+{% include image.html file="impurity.png" width="35%" alt="One-body perturbation (e.g. impurity) diagram" %}
$$\begin{aligned}
= \frac{1}{i \hbar} V_s(\vb{r}, t)
@@ -148,6 +141,7 @@ so that a particle with a given spin propagates
from vertex to vertex without getting flipped.
+
## Fourier space
If the system is time-independent and spatially uniform,
@@ -177,9 +171,7 @@ Working in Fourier space allows us to simplify calculations.
Consider the following diagram and the resulting expression,
where $$\tilde{\vb{r}} = (\vb{r}, t)$$, and $$\tilde{\vb{k}} = (\vb{k}, \omega)$$:
-<a href="conservation.png">
-<img src="conservation.png" style="width:40%">
-</a>
+{% include image.html file="example.png" width="40%" alt="Example: fermion-fermion interaction" %}
$$\begin{aligned}
&= (i \hbar)^3 \sum_{s s'} \!\!\iint \dd{\tilde{\vb{r}}} \dd{\tilde{\vb{r}}'}
@@ -274,6 +266,7 @@ then conservation removes all internal variables,
so no integrals would be needed.
+
## Imaginary time
Feynman diagrams are also useful when working with
diff --git a/source/know/concept/metacentric-height/index.md b/source/know/concept/metacentric-height/index.md
index 3d0c9a5..3d81d44 100644
--- a/source/know/concept/metacentric-height/index.md
+++ b/source/know/concept/metacentric-height/index.md
@@ -26,9 +26,7 @@ does not coincide with the origin in general,
as is illustrated in the following sketch
of our choice of coordinate system:
-<a href="sketch.jpg">
-<img src="sketch.jpg" style="width:67%">
-</a>
+{% include image.html file="sketch-full.png" width="75%" alt="Boat's coordinate system" %}
Here, $$B$$ is the **center of buoyancy**, equal to
the center of mass of the volume of water displaced by the boat
diff --git a/source/know/concept/metacentric-height/sketch-full.png b/source/know/concept/metacentric-height/sketch-full.png
new file mode 100644
index 0000000..f76350b
--- /dev/null
+++ b/source/know/concept/metacentric-height/sketch-full.png
Binary files differ
diff --git a/source/know/concept/metacentric-height/sketch-half.avif b/source/know/concept/metacentric-height/sketch-half.avif
new file mode 100644
index 0000000..e6be2dc
--- /dev/null
+++ b/source/know/concept/metacentric-height/sketch-half.avif
Binary files differ
diff --git a/source/know/concept/metacentric-height/sketch-half.jpg b/source/know/concept/metacentric-height/sketch-half.jpg
new file mode 100644
index 0000000..066bc93
--- /dev/null
+++ b/source/know/concept/metacentric-height/sketch-half.jpg
Binary files differ
diff --git a/source/know/concept/metacentric-height/sketch-half.png b/source/know/concept/metacentric-height/sketch-half.png
new file mode 100644
index 0000000..6835bbc
--- /dev/null
+++ b/source/know/concept/metacentric-height/sketch-half.png
Binary files differ
diff --git a/source/know/concept/metacentric-height/sketch-half.webp b/source/know/concept/metacentric-height/sketch-half.webp
new file mode 100644
index 0000000..70af91d
--- /dev/null
+++ b/source/know/concept/metacentric-height/sketch-half.webp
Binary files differ
diff --git a/source/know/concept/metacentric-height/sketch.jpg b/source/know/concept/metacentric-height/sketch.jpg
deleted file mode 100644
index 6a0544b..0000000
--- a/source/know/concept/metacentric-height/sketch.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/modulational-instability/index.md b/source/know/concept/modulational-instability/index.md
index a01293c..e29b2d5 100644
--- a/source/know/concept/modulational-instability/index.md
+++ b/source/know/concept/modulational-instability/index.md
@@ -172,9 +172,7 @@ $$\begin{aligned}
= \sqrt{P_0} \sech\!\Big(\frac{t}{T_0}\Big)
\end{aligned}$$
-<a href="pheno-mi.jpg">
-<img src="pheno-mi-small.jpg" style="width:100%">
-</a>
+{% include image.html file="simulation-full.png" width="100%" alt="Modulational instability simulation results" %}
Where $$L_\mathrm{NL} = 1/(\gamma P_0)$$ is the characteristic length of nonlinear effects.
Note that no noise was added to the simulation;
diff --git a/source/know/concept/modulational-instability/pheno-mi-small.jpg b/source/know/concept/modulational-instability/pheno-mi-small.jpg
deleted file mode 100644
index 995ec81..0000000
--- a/source/know/concept/modulational-instability/pheno-mi-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/modulational-instability/pheno-mi.jpg b/source/know/concept/modulational-instability/pheno-mi.jpg
deleted file mode 100644
index e45f074..0000000
--- a/source/know/concept/modulational-instability/pheno-mi.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/modulational-instability/simulation-full.png b/source/know/concept/modulational-instability/simulation-full.png
new file mode 100644
index 0000000..8b4f555
--- /dev/null
+++ b/source/know/concept/modulational-instability/simulation-full.png
Binary files differ
diff --git a/source/know/concept/modulational-instability/simulation-half.avif b/source/know/concept/modulational-instability/simulation-half.avif
new file mode 100644
index 0000000..4db8f98
--- /dev/null
+++ b/source/know/concept/modulational-instability/simulation-half.avif
Binary files differ
diff --git a/source/know/concept/modulational-instability/simulation-half.jpg b/source/know/concept/modulational-instability/simulation-half.jpg
new file mode 100644
index 0000000..7caf2ba
--- /dev/null
+++ b/source/know/concept/modulational-instability/simulation-half.jpg
Binary files differ
diff --git a/source/know/concept/modulational-instability/simulation-half.png b/source/know/concept/modulational-instability/simulation-half.png
new file mode 100644
index 0000000..2c39f6c
--- /dev/null
+++ b/source/know/concept/modulational-instability/simulation-half.png
Binary files differ
diff --git a/source/know/concept/modulational-instability/simulation-half.webp b/source/know/concept/modulational-instability/simulation-half.webp
new file mode 100644
index 0000000..b83a6f6
--- /dev/null
+++ b/source/know/concept/modulational-instability/simulation-half.webp
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/frequency-full.png b/source/know/concept/optical-wave-breaking/frequency-full.png
new file mode 100644
index 0000000..4fbb43e
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/frequency-full.png
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/frequency-half.avif b/source/know/concept/optical-wave-breaking/frequency-half.avif
new file mode 100644
index 0000000..c4dfc19
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/frequency-half.avif
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/frequency-half.jpg b/source/know/concept/optical-wave-breaking/frequency-half.jpg
new file mode 100644
index 0000000..9694f28
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/frequency-half.jpg
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/frequency-half.png b/source/know/concept/optical-wave-breaking/frequency-half.png
new file mode 100644
index 0000000..328d9a3
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/frequency-half.png
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/frequency-half.webp b/source/know/concept/optical-wave-breaking/frequency-half.webp
new file mode 100644
index 0000000..26f4d94
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/frequency-half.webp
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/index.md b/source/know/concept/optical-wave-breaking/index.md
index 42064ff..882749f 100644
--- a/source/know/concept/optical-wave-breaking/index.md
+++ b/source/know/concept/optical-wave-breaking/index.md
@@ -34,9 +34,7 @@ Shortly before the slope would become infinite,
small waves start "falling off" the edge of the pulse,
hence the name *wave breaking*:
-<a href="pheno-break-inst.jpg">
-<img src="pheno-break-inst-small.jpg" style="width:100%">
-</a>
+{% include image.html file="frequency-full.png" width="100%" alt="Instantaneous frequency profile evolution" %}
Several interesting things happen around this moment.
To demonstrate this, spectrograms of the same simulation
@@ -53,9 +51,7 @@ After OWB, a train of small waves falls off the edges,
which eventually melt together, leading to a trapezoid shape in the $$t$$-domain.
Dispersive broadening then continues normally:
-<a href="pheno-break-sgram.jpg">
-<img src="pheno-break-sgram-small.jpg" style="width:80%">
-</a>
+{% include image.html file="spectrograms-full.png" width="100%" alt="Spectrograms of pulse shape evolution" %}
We call the distance at which the wave breaks $$L_\mathrm{WB}$$,
and would like to analytically predict it.
@@ -183,9 +179,7 @@ $$\begin{aligned}
This prediction for $$L_\mathrm{WB}$$ appears to agree well
with the OWB observed in the simulation:
-<a href="pheno-break.jpg">
-<img src="pheno-break-small.jpg" style="width:100%">
-</a>
+{% include image.html file="simulation-full.png" width="100%" alt="Optical wave breaking simulation results" %}
Because all spectral broadening up to $$L_\mathrm{WB}$$ is caused by SPM,
whose frequency behaviour is known, it is in fact possible to draw
diff --git a/source/know/concept/optical-wave-breaking/pheno-break-inst-small.jpg b/source/know/concept/optical-wave-breaking/pheno-break-inst-small.jpg
deleted file mode 100644
index f7568e6..0000000
--- a/source/know/concept/optical-wave-breaking/pheno-break-inst-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/pheno-break-inst.jpg b/source/know/concept/optical-wave-breaking/pheno-break-inst.jpg
deleted file mode 100644
index de92efd..0000000
--- a/source/know/concept/optical-wave-breaking/pheno-break-inst.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/pheno-break-sgram-small.jpg b/source/know/concept/optical-wave-breaking/pheno-break-sgram-small.jpg
deleted file mode 100644
index 3c493f2..0000000
--- a/source/know/concept/optical-wave-breaking/pheno-break-sgram-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/pheno-break-sgram.jpg b/source/know/concept/optical-wave-breaking/pheno-break-sgram.jpg
deleted file mode 100644
index 340343a..0000000
--- a/source/know/concept/optical-wave-breaking/pheno-break-sgram.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/pheno-break-small.jpg b/source/know/concept/optical-wave-breaking/pheno-break-small.jpg
deleted file mode 100644
index f29a32a..0000000
--- a/source/know/concept/optical-wave-breaking/pheno-break-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/pheno-break.jpg b/source/know/concept/optical-wave-breaking/pheno-break.jpg
deleted file mode 100644
index 5b08714..0000000
--- a/source/know/concept/optical-wave-breaking/pheno-break.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/simulation-full.png b/source/know/concept/optical-wave-breaking/simulation-full.png
new file mode 100644
index 0000000..bf33008
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/simulation-full.png
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/simulation-half.avif b/source/know/concept/optical-wave-breaking/simulation-half.avif
new file mode 100644
index 0000000..fc93266
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/simulation-half.avif
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/simulation-half.jpg b/source/know/concept/optical-wave-breaking/simulation-half.jpg
new file mode 100644
index 0000000..addc722
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/simulation-half.jpg
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/simulation-half.png b/source/know/concept/optical-wave-breaking/simulation-half.png
new file mode 100644
index 0000000..08e2552
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/simulation-half.png
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/simulation-half.webp b/source/know/concept/optical-wave-breaking/simulation-half.webp
new file mode 100644
index 0000000..d16f124
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/simulation-half.webp
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/spectrograms-full.png b/source/know/concept/optical-wave-breaking/spectrograms-full.png
new file mode 100644
index 0000000..085b08b
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/spectrograms-full.png
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/spectrograms-half.avif b/source/know/concept/optical-wave-breaking/spectrograms-half.avif
new file mode 100644
index 0000000..cf3028d
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/spectrograms-half.avif
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/spectrograms-half.jpg b/source/know/concept/optical-wave-breaking/spectrograms-half.jpg
new file mode 100644
index 0000000..f49e3bb
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/spectrograms-half.jpg
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/spectrograms-half.png b/source/know/concept/optical-wave-breaking/spectrograms-half.png
new file mode 100644
index 0000000..3c763c7
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/spectrograms-half.png
Binary files differ
diff --git a/source/know/concept/optical-wave-breaking/spectrograms-half.webp b/source/know/concept/optical-wave-breaking/spectrograms-half.webp
new file mode 100644
index 0000000..b0c3fad
--- /dev/null
+++ b/source/know/concept/optical-wave-breaking/spectrograms-half.webp
Binary files differ
diff --git a/source/know/concept/quantum-fourier-transform/index.md b/source/know/concept/quantum-fourier-transform/index.md
index 113367c..1c68ad0 100644
--- a/source/know/concept/quantum-fourier-transform/index.md
+++ b/source/know/concept/quantum-fourier-transform/index.md
@@ -172,17 +172,13 @@ The quantum circuit to execute the mentioned steps is illustrated below,
excluding the swapping part to get the right order.
Here, $$R_m$$ means $$R_\phi$$ with $$\phi = 2 \pi / 2^m$$:
-<a href="qft-circuit-noswap.png">
-<img src="qft-circuit-noswap.png" style="width:100%">
-</a>
+{% include image.html file="qft-circuit-noswap.png" width="100%" alt="QFT circuit, without final swap" %}
Again, note how the inputs $$\Ket{x_j}$$ and outputs $$\Ket{k_j}$$ are in the opposite order.
The complete circuit, including the swapping at the end,
therefore looks like this:
-<a href="qft-circuit-swap.png">
-<img src="qft-circuit-swap.png" style="width:85%">
-</a>
+{% include image.html file="qft-circuit-swap.png" width="85%" alt="QFT circuit, including final swap" %}
For each of the $$n$$ qubits, $$\mathcal{O}(n)$$ gates are applied,
so overall the QFT algorithm is $$\mathcal{O}(n^2)$$.
diff --git a/source/know/concept/quantum-fourier-transform/qft-circuit-noswap.avif b/source/know/concept/quantum-fourier-transform/qft-circuit-noswap.avif
new file mode 100644
index 0000000..bee92cd
--- /dev/null
+++ b/source/know/concept/quantum-fourier-transform/qft-circuit-noswap.avif
Binary files differ
diff --git a/source/know/concept/quantum-fourier-transform/qft-circuit-swap.avif b/source/know/concept/quantum-fourier-transform/qft-circuit-swap.avif
new file mode 100644
index 0000000..6f41319
--- /dev/null
+++ b/source/know/concept/quantum-fourier-transform/qft-circuit-swap.avif
Binary files differ
diff --git a/source/know/concept/quantum-gate/cnot.avif b/source/know/concept/quantum-gate/cnot.avif
new file mode 100644
index 0000000..75e36ae
--- /dev/null
+++ b/source/know/concept/quantum-gate/cnot.avif
Binary files differ
diff --git a/source/know/concept/quantum-gate/cu.avif b/source/know/concept/quantum-gate/cu.avif
new file mode 100644
index 0000000..e58c66a
--- /dev/null
+++ b/source/know/concept/quantum-gate/cu.avif
Binary files differ
diff --git a/source/know/concept/quantum-gate/index.md b/source/know/concept/quantum-gate/index.md
index 8c251be..e8ff579 100644
--- a/source/know/concept/quantum-gate/index.md
+++ b/source/know/concept/quantum-gate/index.md
@@ -14,6 +14,7 @@ the number of possible quantum gates is uncountably infinite,
so we only consider the most important examples here.
+
## One-qubit gates
As an example, consider the following must general single-qubit state $$\Ket{\psi}$$:
@@ -165,6 +166,7 @@ This is the definition of universality:
any state can be approximated.
+
## Two-qubit gates
As an example, let us consider
@@ -202,9 +204,7 @@ but not always in the basis of $$\Ket{0}_1$$, $$\Ket{1}_1$$, $$\Ket{0}_2$$ and $
With that said, the first two-qubit gate is $$\mathrm{SWAP}$$,
which simply swaps $$\Ket{\psi_1}$$ and $$\Ket{\psi_2}$$:
-<a href="swap.png">
-<img src="swap.png" style="width:22%">
-</a>
+{% include image.html file="swap.png" width="22%" alt="SWAP gate diagram" %}
$$\begin{aligned}
\boxed{
@@ -231,9 +231,7 @@ $$\begin{aligned}
Next, there is the **controlled NOT gate** $$\mathrm{CNOT}$$,
which "flips" (applies $$X$$ to) $$\Ket{\psi_2}$$ if $$\Ket{\psi_1}$$ is true:
-<a href="cnot.png">
-<img src="cnot.png" style="width:22%">
-</a>
+{% include image.html file="cnot.png" width="22%" alt="CNOT gate diagram" %}
$$\begin{aligned}
\boxed{
@@ -258,9 +256,7 @@ More generally, from every one-qubit gate $$U$$,
we can define a two-qubit **controlled U gate** $$\mathrm{CU}$$,
which applies $$U$$ to $$\Ket{\psi_2}$$ if $$\Ket{\psi_1}$$ is true:
-<a href="cu.png">
-<img src="cu.png" style="width:22%">
-</a>
+{% include image.html file="cu.png" width="22%" alt="CU gate diagram" %}
$$\begin{aligned}
\boxed{
diff --git a/source/know/concept/quantum-gate/swap.avif b/source/know/concept/quantum-gate/swap.avif
new file mode 100644
index 0000000..a70c43c
--- /dev/null
+++ b/source/know/concept/quantum-gate/swap.avif
Binary files differ
diff --git a/source/know/concept/random-phase-approximation/dyson.avif b/source/know/concept/random-phase-approximation/dyson.avif
new file mode 100644
index 0000000..dc80856
--- /dev/null
+++ b/source/know/concept/random-phase-approximation/dyson.avif
Binary files differ
diff --git a/source/know/concept/random-phase-approximation/index.md b/source/know/concept/random-phase-approximation/index.md
index 0f53136..698e1e7 100644
--- a/source/know/concept/random-phase-approximation/index.md
+++ b/source/know/concept/random-phase-approximation/index.md
@@ -71,23 +71,17 @@ leaving only the single most divergent one at each order $$n$$,
i.e. the ones where all $$n$$ interaction lines
carry the same momentum and energy:
-<a href="rpasigma.png">
-<img src="rpasigma.png" style="width:92%">
-</a>
+{% include image.html file="self-energy.png" width="92%" alt="RPA self-energy definition" %}
Where we have defined the **screened interaction** $$W^\mathrm{RPA}$$,
denoted by a double wavy line:
-<a href="screened.png">
-<img src="screened.png" style="width:95%">
-</a>
+{% include image.html file="interaction.png" width="95%" alt="RPA screened interaction definition" %}
Rearranging the above sequence of diagrams quickly leads to the following
[Dyson equation](/know/concept/dyson-equation/):
-<a href="dyson.png">
-<img src="dyson.png" style="width:55%">
-</a>
+{% include image.html file="dyson.png" width="55%" alt="Dyson equation for screened interaction" %}
In Fourier space, this equation's linear shape
means it is algebraic, so we can write it out:
@@ -104,9 +98,7 @@ with an internal wavevector $$\vb{q}$$, fermionic frequency $$i \omega_m^F$$, an
Abbreviating $$\tilde{\vb{k}} \equiv (\vb{k}, i \omega_n^B)$$
and $$\tilde{\vb{q}} \equiv (\vb{q}, i \omega_n^F)$$:
-<a href="pairbubble.png">
-<img src="pairbubble.png" style="width:45%">
-</a>
+{% include image.html file="pairbubble.png" width="45%" alt="Internal variables of pair-bubble diagram" %}
We isolate the Dyson equation for $$W^\mathrm{RPA}$$,
which reveals its physical interpretation as a *screened* interaction:
diff --git a/source/know/concept/random-phase-approximation/interaction.avif b/source/know/concept/random-phase-approximation/interaction.avif
new file mode 100644
index 0000000..f3f6cbe
--- /dev/null
+++ b/source/know/concept/random-phase-approximation/interaction.avif
Binary files differ
diff --git a/source/know/concept/random-phase-approximation/screened.png b/source/know/concept/random-phase-approximation/interaction.png
index bb5ccdd..bb5ccdd 100644
--- a/source/know/concept/random-phase-approximation/screened.png
+++ b/source/know/concept/random-phase-approximation/interaction.png
Binary files differ
diff --git a/source/know/concept/random-phase-approximation/pairbubble.avif b/source/know/concept/random-phase-approximation/pairbubble.avif
new file mode 100644
index 0000000..bca964e
--- /dev/null
+++ b/source/know/concept/random-phase-approximation/pairbubble.avif
Binary files differ
diff --git a/source/know/concept/random-phase-approximation/self-energy.avif b/source/know/concept/random-phase-approximation/self-energy.avif
new file mode 100644
index 0000000..3ddfed7
--- /dev/null
+++ b/source/know/concept/random-phase-approximation/self-energy.avif
Binary files differ
diff --git a/source/know/concept/random-phase-approximation/rpasigma.png b/source/know/concept/random-phase-approximation/self-energy.png
index fedc9f5..fedc9f5 100644
--- a/source/know/concept/random-phase-approximation/rpasigma.png
+++ b/source/know/concept/random-phase-approximation/self-energy.png
Binary files differ
diff --git a/source/know/concept/repetition-code/bit-flip-detect.avif b/source/know/concept/repetition-code/bit-flip-detect.avif
new file mode 100644
index 0000000..83d509a
--- /dev/null
+++ b/source/know/concept/repetition-code/bit-flip-detect.avif
Binary files differ
diff --git a/source/know/concept/repetition-code/bit-flip-encode.avif b/source/know/concept/repetition-code/bit-flip-encode.avif
new file mode 100644
index 0000000..37bc495
--- /dev/null
+++ b/source/know/concept/repetition-code/bit-flip-encode.avif
Binary files differ
diff --git a/source/know/concept/repetition-code/index.md b/source/know/concept/repetition-code/index.md
index 99ac630..678211e 100644
--- a/source/know/concept/repetition-code/index.md
+++ b/source/know/concept/repetition-code/index.md
@@ -27,6 +27,7 @@ albeit with some complications,
as discussed below.
+
## Bit flip code
Suppose that we want to detect errors in
@@ -76,9 +77,7 @@ $$\begin{aligned}
Such a transformation is easy to achieve with the following sequence
of [quantum gates](/know/concept/quantum-gate/):
-<a href="bit-flip-encode.png">
-<img src="bit-flip-encode.png" style="width:32%">
-</a>
+{% include image.html file="bit-flip-encode.png" width="32%" alt="Bit flip code encoder" %}
So, a little while after encoding the state $$\Ket{\psi}$$ like that,
a bit flip occurs on the 2nd qubit:
@@ -166,31 +165,61 @@ But by using both, we know exactly which qubit was flipped
thanks to the eigenvalues:
<table style="width:30%;margin:auto;text-align:center;">
- <tr>
- <th>Error</th>
- <th>$$ZZI$$</th>
- <th>$$IZZ$$</th>
- </tr>
- <tr>
- <td>$$I$$</td>
- <td>$$+1$$</td>
- <td>$$+1$$</td>
- </tr>
- <tr>
- <td>$$X_1$$</td>
- <td>$$-1$$</td>
- <td>$$+1$$</td>
- </tr>
- <tr>
- <td>$$X_2$$</td>
- <td>$$-1$$</td>
- <td>$$-1$$</td>
- </tr>
- <tr>
- <td>$$X_1$$</td>
- <td>$$+1$$</td>
- <td>$$-1$$</td>
- </tr>
+<tr>
+ <th>
+ Error
+ </th>
+ <th markdown="1">
+ $$ZZI$$
+ </th>
+ <th markdown="1">
+ $$IZZ$$
+ </th>
+</tr>
+<tr>
+ <td markdown="1">
+ $$I$$
+ </td>
+ <td markdown="1">
+ $$+1$$
+ </td>
+ <td markdown="1">
+ $$+1$$
+ </td>
+</tr>
+<tr>
+ <td markdown="1">
+ $$X_1$$
+ </td>
+ <td markdown="1">
+ $$-1$$
+ </td>
+ <td markdown="1">
+ $$+1$$
+ </td>
+</tr>
+<tr>
+ <td markdown="1">
+ $$X_2$$
+ </td>
+ <td markdown="1">
+ $$-1$$
+ </td>
+ <td markdown="1">
+ $$-1$$
+ </td>
+</tr>
+<tr>
+ <td markdown="1">
+ $$X_1$$
+ </td>
+ <td markdown="1">
+ $$+1$$
+ </td>
+ <td markdown="1">
+ $$-1$$
+ </td>
+</tr>
</table>
Where e.g. $$X_3$$ denotes that the 3rd qubit was flipped.
@@ -202,9 +231,7 @@ without affecting $$\ket{\overline{\psi}}$$ itself,
by applying $$\mathrm{CNOT}$$s to some ancillary qubits
and then measuring those:
-<a href="bit-flip-detect.png">
-<img src="bit-flip-detect.png" style="width:62%">
-</a>
+{% include image.html file="bit-flip-detect.png" width="62%" alt="Bit flip code decoder" %}
The two measurements, respectively representing $$ZZI$$ and $$IZZ$$,
yield $$\Ket{1}$$ if a bit flip definitely occurred,
@@ -213,6 +240,7 @@ There is no entanglement,
so the input is untouched.
+
## Phase flip code
The above system protects us against all single-qubit bit flips.
@@ -254,23 +282,20 @@ $$\begin{aligned}
= \alpha \Ket{+\!+\!+} + \beta \Ket{-\!-\!-}
\end{aligned}$$
-<a href="phase-flip-encode.png">
-<img src="phase-flip-encode.png" style="width:40%">
-</a>
+{% include image.html file="phase-flip-encode.png" width="40%" alt="Phase flip code encoder" %}
A phase flip along the $$Z$$-axis
corresponds to a bit flip along the $$X$$-axis $$\Ket{+} \to \Ket{-}$$.
In this case, the stabilizers are $$XXI$$ and $$IXX$$,
and the error detection circuit is as follows:
-<a href="phase-flip-detect.png">
-<img src="phase-flip-detect.png" style="width:70%">
-</a>
+{% include image.html file="phase-flip-detect.png" width="70%" alt="Phase flip code decoder" %}
This system protects us against all single-qubit phase flips,
but not against bit flips.
+
## Shor code
What kind of repetition code would we need
@@ -307,9 +332,7 @@ This encoding is achieved by the following quantum circuit,
which simply consists of the phase flip encoder,
followed by 3 copies of the bit flip encoder:
-<a href="shor-code-encode.png">
-<img src="shor-code-encode.png" style="width:55%">
-</a>
+{% include image.html file="shor-code-encode.png" width="55%" alt="Shor code encoder" %}
We thus use 9 physical qubits to store 1 logical qubit.
Fortunately, more efficient schemes exist.
diff --git a/source/know/concept/repetition-code/phase-flip-detect.avif b/source/know/concept/repetition-code/phase-flip-detect.avif
new file mode 100644
index 0000000..b69044b
--- /dev/null
+++ b/source/know/concept/repetition-code/phase-flip-detect.avif
Binary files differ
diff --git a/source/know/concept/repetition-code/phase-flip-encode.avif b/source/know/concept/repetition-code/phase-flip-encode.avif
new file mode 100644
index 0000000..bdefddd
--- /dev/null
+++ b/source/know/concept/repetition-code/phase-flip-encode.avif
Binary files differ
diff --git a/source/know/concept/repetition-code/shor-code-encode.avif b/source/know/concept/repetition-code/shor-code-encode.avif
new file mode 100644
index 0000000..37be14a
--- /dev/null
+++ b/source/know/concept/repetition-code/shor-code-encode.avif
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/index.md b/source/know/concept/rutherford-scattering/index.md
index a7375d5..6f5a21f 100644
--- a/source/know/concept/rutherford-scattering/index.md
+++ b/source/know/concept/rutherford-scattering/index.md
@@ -19,9 +19,7 @@ Let 2 be initially at rest, and 1 approach it with velocity $$\vb{v}_1$$.
Coulomb repulsion causes 1 to deflect by an angle $$\theta$$,
and pushes 2 away in the process:
-<a href="two-body.png">
-<img src="two-body.png" style="width:50%">
-</a>
+{% include image.html file="two-body-full.png" width="50%" alt="Two-body repulsive 'collision'" %}
Here, $$b$$ is called the **impact parameter**.
Intuitively, we expect $$\theta$$ to be larger for smaller $$b$$.
@@ -69,9 +67,7 @@ then by comparing $$t > 0$$ and $$t < 0$$
we can see that $$v_x$$ is unchanged for any given $$\pm t$$,
while $$v_y$$ simply changes sign:
-<a href="one-body.png">
-<img src="one-body.png" style="width:60%">
-</a>
+{% include image.html file="one-body-full.png" width="60%" alt="Equivalent one-body deflection" %}
From our expression for $$\vb{r}$$,
we can find $$\vb{v}$$ by differentiating with respect to time:
diff --git a/source/know/concept/rutherford-scattering/one-body-full.png b/source/know/concept/rutherford-scattering/one-body-full.png
new file mode 100644
index 0000000..c09f985
--- /dev/null
+++ b/source/know/concept/rutherford-scattering/one-body-full.png
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/one-body-half.avif b/source/know/concept/rutherford-scattering/one-body-half.avif
new file mode 100644
index 0000000..1435659
--- /dev/null
+++ b/source/know/concept/rutherford-scattering/one-body-half.avif
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/one-body-half.jpg b/source/know/concept/rutherford-scattering/one-body-half.jpg
new file mode 100644
index 0000000..5e0376c
--- /dev/null
+++ b/source/know/concept/rutherford-scattering/one-body-half.jpg
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/one-body-half.png b/source/know/concept/rutherford-scattering/one-body-half.png
new file mode 100644
index 0000000..e46e344
--- /dev/null
+++ b/source/know/concept/rutherford-scattering/one-body-half.png
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/one-body-half.webp b/source/know/concept/rutherford-scattering/one-body-half.webp
new file mode 100644
index 0000000..379536e
--- /dev/null
+++ b/source/know/concept/rutherford-scattering/one-body-half.webp
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/one-body.png b/source/know/concept/rutherford-scattering/one-body.png
deleted file mode 100644
index f70f2df..0000000
--- a/source/know/concept/rutherford-scattering/one-body.png
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/two-body-full.png b/source/know/concept/rutherford-scattering/two-body-full.png
new file mode 100644
index 0000000..e33031d
--- /dev/null
+++ b/source/know/concept/rutherford-scattering/two-body-full.png
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/two-body-half.avif b/source/know/concept/rutherford-scattering/two-body-half.avif
new file mode 100644
index 0000000..cbacde1
--- /dev/null
+++ b/source/know/concept/rutherford-scattering/two-body-half.avif
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/two-body-half.jpg b/source/know/concept/rutherford-scattering/two-body-half.jpg
new file mode 100644
index 0000000..91e2fa8
--- /dev/null
+++ b/source/know/concept/rutherford-scattering/two-body-half.jpg
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/two-body.png b/source/know/concept/rutherford-scattering/two-body-half.png
index 9b62f78..9b62f78 100644
--- a/source/know/concept/rutherford-scattering/two-body.png
+++ b/source/know/concept/rutherford-scattering/two-body-half.png
Binary files differ
diff --git a/source/know/concept/rutherford-scattering/two-body-half.webp b/source/know/concept/rutherford-scattering/two-body-half.webp
new file mode 100644
index 0000000..b8f6ba6
--- /dev/null
+++ b/source/know/concept/rutherford-scattering/two-body-half.webp
Binary files differ
diff --git a/source/know/concept/self-energy/definition.avif b/source/know/concept/self-energy/definition.avif
new file mode 100644
index 0000000..5171e73
--- /dev/null
+++ b/source/know/concept/self-energy/definition.avif
Binary files differ
diff --git a/source/know/concept/self-energy/selfenergy.png b/source/know/concept/self-energy/definition.png
index 59b8542..59b8542 100644
--- a/source/know/concept/self-energy/selfenergy.png
+++ b/source/know/concept/self-energy/definition.png
Binary files differ
diff --git a/source/know/concept/self-energy/dyson.avif b/source/know/concept/self-energy/dyson.avif
new file mode 100644
index 0000000..3a6cc50
--- /dev/null
+++ b/source/know/concept/self-energy/dyson.avif
Binary files differ
diff --git a/source/know/concept/self-energy/expansion.avif b/source/know/concept/self-energy/expansion.avif
new file mode 100644
index 0000000..0a8a014
--- /dev/null
+++ b/source/know/concept/self-energy/expansion.avif
Binary files differ
diff --git a/source/know/concept/self-energy/fullgf.png b/source/know/concept/self-energy/expansion.png
index 631d23f..631d23f 100644
--- a/source/know/concept/self-energy/fullgf.png
+++ b/source/know/concept/self-energy/expansion.png
Binary files differ
diff --git a/source/know/concept/self-energy/index.md b/source/know/concept/self-energy/index.md
index 005f135..f233466 100644
--- a/source/know/concept/self-energy/index.md
+++ b/source/know/concept/self-energy/index.md
@@ -204,9 +204,7 @@ that exactly $$2^m m!$$ diagrams at each order are topologically equivalent,
so we are left with non-equivalent diagrams only.
Let $$G(b,a) = G_{ba}$$:
-<a href="fullgf.png">
-<img src="fullgf.png" style="width:90%">
-</a>
+{% include image.html file="expansion.png" width="90%" alt="Full expansion of G in Feynman diagrams" %}
A **reducible diagram** is a Feynman diagram
that can be cut in two valid diagrams
@@ -217,9 +215,7 @@ At last, we define the **self-energy** $$\Sigma(y,x)$$
as the sum of all irreducible terms in $$G(b,a)$$,
after removing the two external lines from/to $$a$$ and $$b$$:
-<a href="selfenergy.png">
-<img src="selfenergy.png" style="width:90%">
-</a>
+{% include image.html file="definition.png" width="90%" alt="Definition of self-energy" %}
Despite its appearance, the self-energy has the semantics of a line,
so it has two endpoints over which to integrate if necessary.
@@ -238,9 +234,7 @@ Thanks to this recursive structure,
you can convince youself that $$G(b,a)$$ obeys
a [Dyson equation](/know/concept/dyson-equation/) involving $$\Sigma(y, x)$$:
-<a href="dyson.png">
-<img src="dyson.png" style="width:95%">
-</a>
+{% include image.html file="dyson.png" width="95%" alt="Dyson equation in Feynman diagrams" %}
This makes sense: in the "normal" Dyson equation
we have a one-body perturbation instead of $$\Sigma$$,
diff --git a/source/know/concept/self-phase-modulation/index.md b/source/know/concept/self-phase-modulation/index.md
index f13ad2f..48ea20b 100644
--- a/source/know/concept/self-phase-modulation/index.md
+++ b/source/know/concept/self-phase-modulation/index.md
@@ -66,9 +66,7 @@ $$\begin{aligned}
A(z, t) = \sqrt{P_0} \exp\!\Big(\!-\!\frac{t^2}{2 T_0^2}\Big) \exp\!\bigg( i \gamma z P_0 \exp\!\Big(\!-\!\frac{t^2}{T_0^2}\Big) \bigg)
\end{aligned}$$
-<a href="pheno-spm.jpg">
-<img src="pheno-spm-small.jpg" style="width:100%">
-</a>
+{% include image.html file="simulation-full.png" width="100%" alt="Self-phase modulation simulation results" %}
The **instantaneous frequency** $$\omega_\mathrm{SPM}(z, t)$$,
which describes the dominant angular frequency at a given point in the time domain,
diff --git a/source/know/concept/self-phase-modulation/pheno-spm-small.jpg b/source/know/concept/self-phase-modulation/pheno-spm-small.jpg
deleted file mode 100644
index 6f041ec..0000000
--- a/source/know/concept/self-phase-modulation/pheno-spm-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/self-phase-modulation/pheno-spm.jpg b/source/know/concept/self-phase-modulation/pheno-spm.jpg
deleted file mode 100644
index 6d5c92a..0000000
--- a/source/know/concept/self-phase-modulation/pheno-spm.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/self-phase-modulation/simulation-full.png b/source/know/concept/self-phase-modulation/simulation-full.png
new file mode 100644
index 0000000..a1823bc
--- /dev/null
+++ b/source/know/concept/self-phase-modulation/simulation-full.png
Binary files differ
diff --git a/source/know/concept/self-phase-modulation/simulation-half.avif b/source/know/concept/self-phase-modulation/simulation-half.avif
new file mode 100644
index 0000000..c7b38bd
--- /dev/null
+++ b/source/know/concept/self-phase-modulation/simulation-half.avif
Binary files differ
diff --git a/source/know/concept/self-phase-modulation/simulation-half.jpg b/source/know/concept/self-phase-modulation/simulation-half.jpg
new file mode 100644
index 0000000..fa7d838
--- /dev/null
+++ b/source/know/concept/self-phase-modulation/simulation-half.jpg
Binary files differ
diff --git a/source/know/concept/self-phase-modulation/simulation-half.png b/source/know/concept/self-phase-modulation/simulation-half.png
new file mode 100644
index 0000000..609f9c4
--- /dev/null
+++ b/source/know/concept/self-phase-modulation/simulation-half.png
Binary files differ
diff --git a/source/know/concept/self-phase-modulation/simulation-half.webp b/source/know/concept/self-phase-modulation/simulation-half.webp
new file mode 100644
index 0000000..d0038ac
--- /dev/null
+++ b/source/know/concept/self-phase-modulation/simulation-half.webp
Binary files differ
diff --git a/source/know/concept/self-steepening/index.md b/source/know/concept/self-steepening/index.md
index a8bc3c2..f934ab7 100644
--- a/source/know/concept/self-steepening/index.md
+++ b/source/know/concept/self-steepening/index.md
@@ -113,9 +113,7 @@ $$L_\mathrm{shock} = 0.847\,\mathrm{m}$$,
which turns out to be accurate,
although the simulation breaks down due to insufficient resolution:
-<a href="pheno-steep.jpg">
-<img src="pheno-steep-small.jpg" style="width:100%">
-</a>
+{% include image.html file="simulation-full.png" width="100%" alt="Self-steepening simulation results" %}
Unfortunately, self-steepening cannot be simulated perfectly: as the
pulse approaches $$L_\mathrm{shock}$$, its spectrum broadens to infinite
diff --git a/source/know/concept/self-steepening/pheno-steep-small.jpg b/source/know/concept/self-steepening/pheno-steep-small.jpg
deleted file mode 100644
index bb2a158..0000000
--- a/source/know/concept/self-steepening/pheno-steep-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/self-steepening/pheno-steep.jpg b/source/know/concept/self-steepening/pheno-steep.jpg
deleted file mode 100644
index c369d62..0000000
--- a/source/know/concept/self-steepening/pheno-steep.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/self-steepening/simulation-full.png b/source/know/concept/self-steepening/simulation-full.png
new file mode 100644
index 0000000..5d783d7
--- /dev/null
+++ b/source/know/concept/self-steepening/simulation-full.png
Binary files differ
diff --git a/source/know/concept/self-steepening/simulation-half.avif b/source/know/concept/self-steepening/simulation-half.avif
new file mode 100644
index 0000000..8362dce
--- /dev/null
+++ b/source/know/concept/self-steepening/simulation-half.avif
Binary files differ
diff --git a/source/know/concept/self-steepening/simulation-half.jpg b/source/know/concept/self-steepening/simulation-half.jpg
new file mode 100644
index 0000000..ec0f205
--- /dev/null
+++ b/source/know/concept/self-steepening/simulation-half.jpg
Binary files differ
diff --git a/source/know/concept/self-steepening/simulation-half.png b/source/know/concept/self-steepening/simulation-half.png
new file mode 100644
index 0000000..b6f3007
--- /dev/null
+++ b/source/know/concept/self-steepening/simulation-half.png
Binary files differ
diff --git a/source/know/concept/self-steepening/simulation-half.webp b/source/know/concept/self-steepening/simulation-half.webp
new file mode 100644
index 0000000..07d85d2
--- /dev/null
+++ b/source/know/concept/self-steepening/simulation-half.webp
Binary files differ
diff --git a/source/know/concept/shors-algorithm/index.md b/source/know/concept/shors-algorithm/index.md
index 0241f9f..a47151a 100644
--- a/source/know/concept/shors-algorithm/index.md
+++ b/source/know/concept/shors-algorithm/index.md
@@ -30,6 +30,7 @@ With minimal modifications,
Shor's algorithm can solve practically every such problem.
+
## Integer factorization
Originally, Shor's algorithm was designed to factorize an integer $$N$$,
@@ -46,9 +47,7 @@ The period $$s$$ is the smallest integer satisfying $$f(x) = f(x+s)$$.
To do this, the following $$2q$$-qubit quantum circuit is used,
with $$q$$ chosen so that $$N^2 \le 2^q < 2 N^2$$:
-<a href="shors-circuit.png">
-<img src="shors-circuit.png" style="width:70%">
-</a>
+{% include image.html file="shors-circuit.png" width="70%" alt="Shor's circuit" %}
Here, $$\mathrm{QFT}_q$$ refers to the $$q$$-qubit
[quantum Fourier transform](/know/concept/quantum-fourier-transform/),
diff --git a/source/know/concept/shors-algorithm/shors-circuit.avif b/source/know/concept/shors-algorithm/shors-circuit.avif
new file mode 100644
index 0000000..94b3925
--- /dev/null
+++ b/source/know/concept/shors-algorithm/shors-circuit.avif
Binary files differ
diff --git a/source/know/concept/simons-algorithm/index.md b/source/know/concept/simons-algorithm/index.md
index 5502837..294912b 100644
--- a/source/know/concept/simons-algorithm/index.md
+++ b/source/know/concept/simons-algorithm/index.md
@@ -52,9 +52,7 @@ A quantum computer needs to query $$f$$ only $$\mathcal{O}(n)$$ times,
although the exact number varies due to the algorithm's probabilistic nature.
It uses the following circuit:
-<a href="simons-circuit.png">
-<img src="simons-circuit.png" style="width:52%">
-</a>
+{% include image.html file="simons-circuit.png" width="52%" alt="Simon's circuit" %}
The XOR oracle $$U_f$$ implements $$f$$,
and has the following action for $$n$$-bit $$a$$ and $$b$$:
@@ -98,7 +96,6 @@ $$\begin{aligned}
&\frac{1}{2^n} \sum_{x = 0}^{2^n - 1} \bigg( \sum_{y = 0}^{2^n - 1} (-1)^{x \cdot y} \Ket{y} \bigg) \Ket{f(x)}
\end{aligned}$$
-
Next, we measure all qubits.
The order in which we do this does not matter,
but, for clarity, let us measure the last $$n$$ qubits first,
diff --git a/source/know/concept/simons-algorithm/simons-circuit.avif b/source/know/concept/simons-algorithm/simons-circuit.avif
new file mode 100644
index 0000000..f7d701a
--- /dev/null
+++ b/source/know/concept/simons-algorithm/simons-circuit.avif
Binary files differ
diff --git a/source/know/concept/step-index-fiber/bessel-full.png b/source/know/concept/step-index-fiber/bessel-full.png
new file mode 100644
index 0000000..b25cade
--- /dev/null
+++ b/source/know/concept/step-index-fiber/bessel-full.png
Binary files differ
diff --git a/source/know/concept/step-index-fiber/bessel-half.avif b/source/know/concept/step-index-fiber/bessel-half.avif
new file mode 100644
index 0000000..7bb9ea6
--- /dev/null
+++ b/source/know/concept/step-index-fiber/bessel-half.avif
Binary files differ
diff --git a/source/know/concept/step-index-fiber/bessel-half.jpg b/source/know/concept/step-index-fiber/bessel-half.jpg
new file mode 100644
index 0000000..4b06c10
--- /dev/null
+++ b/source/know/concept/step-index-fiber/bessel-half.jpg
Binary files differ
diff --git a/source/know/concept/step-index-fiber/bessel-half.png b/source/know/concept/step-index-fiber/bessel-half.png
new file mode 100644
index 0000000..e316b91
--- /dev/null
+++ b/source/know/concept/step-index-fiber/bessel-half.png
Binary files differ
diff --git a/source/know/concept/step-index-fiber/bessel-half.webp b/source/know/concept/step-index-fiber/bessel-half.webp
new file mode 100644
index 0000000..8cdb94f
--- /dev/null
+++ b/source/know/concept/step-index-fiber/bessel-half.webp
Binary files differ
diff --git a/source/know/concept/step-index-fiber/bessel-small.jpg b/source/know/concept/step-index-fiber/bessel-small.jpg
deleted file mode 100644
index 4fb8710..0000000
--- a/source/know/concept/step-index-fiber/bessel-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/step-index-fiber/bessel.jpg b/source/know/concept/step-index-fiber/bessel.jpg
deleted file mode 100644
index 464a1e7..0000000
--- a/source/know/concept/step-index-fiber/bessel.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/step-index-fiber/index.md b/source/know/concept/step-index-fiber/index.md
index dd83334..c0c95d1 100644
--- a/source/know/concept/step-index-fiber/index.md
+++ b/source/know/concept/step-index-fiber/index.md
@@ -240,14 +240,12 @@ $$\begin{aligned}
\end{cases}
\end{aligned}$$
-<a href="bessel.jpg">
-<img src="bessel-small.jpg" style="width:100%">
-</a>
+{% include image.html file="bessel-full.png" width="100%" alt="First few solutions to Bessel's equation" %}
Looking at these solutions with our constraints for $$R_o$$ in mind,
we see that for $$\mu > 0$$ none of the solutions decay
*monotonically* to zero, so we must have $$\mu \le 0$$ in the cladding.
-Of the remaining candidates, $$\ln\!(r)$$, $$r^\ell$$ and $$I_\ell(\rho)$$ do not decay at all,
+Of the remaining candidates, $$\ln(r)$$, $$r^\ell$$ and $$I_\ell(\rho)$$ do not decay at all,
leading to the following $$R_o$$:
$$\begin{aligned}
@@ -394,9 +392,7 @@ An example graphical solution of the transcendental equation
is illustrated below for a fiber with $$V = 5$$,
where red and blue respectively denote the left and right-hand side:
-<a href="modes.jpg">
-<img src="modes-small.jpg" style="width:100%">
-</a>
+{% include image.html file="transcendental-full.png" width="100%" alt="Graphical solution of transcendental equation" %}
This shows that each $$\mathrm{LP}_{\ell m}$$ has an associated cut-off $$V_{\ell m}$$,
so that if $$V > V_{\ell m}$$ then $$\mathrm{LP}_{lm}$$ exists,
diff --git a/source/know/concept/step-index-fiber/modes-small.jpg b/source/know/concept/step-index-fiber/modes-small.jpg
deleted file mode 100644
index cd9c2a2..0000000
--- a/source/know/concept/step-index-fiber/modes-small.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/step-index-fiber/modes.jpg b/source/know/concept/step-index-fiber/modes.jpg
deleted file mode 100644
index 85682d7..0000000
--- a/source/know/concept/step-index-fiber/modes.jpg
+++ /dev/null
Binary files differ
diff --git a/source/know/concept/step-index-fiber/transcendental-full.png b/source/know/concept/step-index-fiber/transcendental-full.png
new file mode 100644
index 0000000..28671b6
--- /dev/null
+++ b/source/know/concept/step-index-fiber/transcendental-full.png
Binary files differ
diff --git a/source/know/concept/step-index-fiber/transcendental-half.avif b/source/know/concept/step-index-fiber/transcendental-half.avif
new file mode 100644
index 0000000..fd69e2b
--- /dev/null
+++ b/source/know/concept/step-index-fiber/transcendental-half.avif
Binary files differ
diff --git a/source/know/concept/step-index-fiber/transcendental-half.jpg b/source/know/concept/step-index-fiber/transcendental-half.jpg
new file mode 100644
index 0000000..610bd17
--- /dev/null
+++ b/source/know/concept/step-index-fiber/transcendental-half.jpg
Binary files differ
diff --git a/source/know/concept/step-index-fiber/transcendental-half.png b/source/know/concept/step-index-fiber/transcendental-half.png
new file mode 100644
index 0000000..a1ea1cb
--- /dev/null
+++ b/source/know/concept/step-index-fiber/transcendental-half.png
Binary files differ
diff --git a/source/know/concept/step-index-fiber/transcendental-half.webp b/source/know/concept/step-index-fiber/transcendental-half.webp
new file mode 100644
index 0000000..4cb0888
--- /dev/null
+++ b/source/know/concept/step-index-fiber/transcendental-half.webp
Binary files differ
diff --git a/source/know/concept/toffoli-gate/and.avif b/source/know/concept/toffoli-gate/and.avif
new file mode 100644
index 0000000..357c40d
--- /dev/null
+++ b/source/know/concept/toffoli-gate/and.avif
Binary files differ
diff --git a/source/know/concept/toffoli-gate/index.md b/source/know/concept/toffoli-gate/index.md
index 7de7600..ba9d3ba 100644
--- a/source/know/concept/toffoli-gate/index.md
+++ b/source/know/concept/toffoli-gate/index.md
@@ -16,43 +16,31 @@ 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%">
-</a>
+{% include image.html file="toffoli.png" width="19%" alt="Toffoli gate symbol" %}
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%">
-</a>
+{% include image.html file="nand.png" width="38%" alt="NAND gate made of Toffoli gate" %}
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%">
-</a>
+{% include image.html file="not.png" width="32%" alt="NOT gate made of Toffoli gate" %}
-<a href="and.png">
-<img src="and.png" style="width:35%">
-</a>
+{% include image.html file="and.png" width="35%" alt="AND gate made of Toffoli gate" %}
-<a href="xor.png">
-<img src="xor.png" style="width:35%">
-</a>
+{% include image.html file="xor.png" width="35%" alt="XOR gate made of Toffoli gate" %}
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%">
-</a>
+{% include image.html file="or.png" width="50%" alt="OR gate made of Toffoli gates" %}
Thanks to its reversibility and universality,
the Toffoli gate is interesting for quantum computing.
diff --git a/source/know/concept/toffoli-gate/nand.avif b/source/know/concept/toffoli-gate/nand.avif
new file mode 100644
index 0000000..53a5d65
--- /dev/null
+++ b/source/know/concept/toffoli-gate/nand.avif
Binary files differ
diff --git a/source/know/concept/toffoli-gate/not.avif b/source/know/concept/toffoli-gate/not.avif
new file mode 100644
index 0000000..b277a83
--- /dev/null
+++ b/source/know/concept/toffoli-gate/not.avif
Binary files differ
diff --git a/source/know/concept/toffoli-gate/or.avif b/source/know/concept/toffoli-gate/or.avif
new file mode 100644
index 0000000..82dd391
--- /dev/null
+++ b/source/know/concept/toffoli-gate/or.avif
Binary files differ
diff --git a/source/know/concept/toffoli-gate/toffoli.avif b/source/know/concept/toffoli-gate/toffoli.avif
new file mode 100644
index 0000000..9c34431
--- /dev/null
+++ b/source/know/concept/toffoli-gate/toffoli.avif
Binary files differ
diff --git a/source/know/concept/toffoli-gate/xor.avif b/source/know/concept/toffoli-gate/xor.avif
new file mode 100644
index 0000000..8ed742d
--- /dev/null
+++ b/source/know/concept/toffoli-gate/xor.avif
Binary files differ