diff --git a/build/doctrees/environment.pickle b/build/doctrees/environment.pickle index 69cd059..d30fa6c 100644 Binary files a/build/doctrees/environment.pickle and b/build/doctrees/environment.pickle differ diff --git a/build/doctrees/nbsphinx/notebooks/L1/1_ray_optics.ipynb b/build/doctrees/nbsphinx/notebooks/L1/1_ray_optics.ipynb index ec85e02..c2e94fa 100644 --- a/build/doctrees/nbsphinx/notebooks/L1/1_ray_optics.ipynb +++ b/build/doctrees/nbsphinx/notebooks/L1/1_ray_optics.ipynb @@ -130,12 +130,48 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 102, "id": "fbf42d2d-ba72-4d79-b251-bf343a9c054c", "metadata": { "tags": [] }, "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "text/html": [ @@ -184,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 103, "id": "a7043a8d-8a5a-4b0a-9ec3-3c61e77665b1", "metadata": { "tags": [] @@ -241,33 +277,70 @@ { "data": { "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81c9708e657a43299356d6d746905d25", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(FloatSlider(value=50.0, continuous_update=False, description='Radius:', min=10.0, step=1…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", "
\n", + "\n", "\n" ], "text/plain": [ @@ -279,35 +352,51 @@ } ], "source": [ - "%%html\n", + "from ipywidgets import interact, FloatSlider\n", + "from IPython.display import display, HTML, Javascript\n", + "\n", + "# Define the function to update the circle radius\n", + "def update_circle_radius(radius):\n", + " display(Javascript(f\"\"\"\n", + " (function() {{\n", + " var circle = d3.select(\"#d3-circle\");\n", + " if(circle) circle.attr(\"r\", {radius});\n", + " }})();\n", + " \"\"\"))\n", + "\n", + "# Create the slider widget\n", + "slider = FloatSlider(\n", + " value=50,\n", + " min=10,\n", + " max=100,\n", + " step=1,\n", + " description='Radius:',\n", + " continuous_update=False\n", + ")\n", + "\n", + "# Display the slider and pass the update function as the callback\n", + "interact(update_circle_radius, radius=slider)\n", + "\n", + "# Define the HTML and JavaScript code for the initial D3.js circle\n", + "html_code = \"\"\"\n", "
\n", + "\n", "" + "\n", + "\"\"\"\n", + "\n", + "# Display the initial D3.js circle\n", + "display(HTML(html_code))" ] }, { diff --git a/build/doctrees/notebooks/L1/1_ray_optics.doctree b/build/doctrees/notebooks/L1/1_ray_optics.doctree index 5b29daf..45c6383 100644 Binary files a/build/doctrees/notebooks/L1/1_ray_optics.doctree and b/build/doctrees/notebooks/L1/1_ray_optics.doctree differ diff --git a/build/doctrees/notebooks/L1/Lecture1.doctree b/build/doctrees/notebooks/L1/Lecture1.doctree index 319f1fc..68ee434 100644 Binary files a/build/doctrees/notebooks/L1/Lecture1.doctree and b/build/doctrees/notebooks/L1/Lecture1.doctree differ diff --git a/build/html/_sources/notebooks/L1/1_ray_optics.ipynb.txt b/build/html/_sources/notebooks/L1/1_ray_optics.ipynb.txt index ec85e02..c2e94fa 100644 --- a/build/html/_sources/notebooks/L1/1_ray_optics.ipynb.txt +++ b/build/html/_sources/notebooks/L1/1_ray_optics.ipynb.txt @@ -130,12 +130,48 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 102, "id": "fbf42d2d-ba72-4d79-b251-bf343a9c054c", "metadata": { "tags": [] }, "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "text/html": [ @@ -184,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 103, "id": "a7043a8d-8a5a-4b0a-9ec3-3c61e77665b1", "metadata": { "tags": [] @@ -241,33 +277,70 @@ { "data": { "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81c9708e657a43299356d6d746905d25", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(FloatSlider(value=50.0, continuous_update=False, description='Radius:', min=10.0, step=1…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", "
\n", + "\n", "\n" ], "text/plain": [ @@ -279,35 +352,51 @@ } ], "source": [ - "%%html\n", + "from ipywidgets import interact, FloatSlider\n", + "from IPython.display import display, HTML, Javascript\n", + "\n", + "# Define the function to update the circle radius\n", + "def update_circle_radius(radius):\n", + " display(Javascript(f\"\"\"\n", + " (function() {{\n", + " var circle = d3.select(\"#d3-circle\");\n", + " if(circle) circle.attr(\"r\", {radius});\n", + " }})();\n", + " \"\"\"))\n", + "\n", + "# Create the slider widget\n", + "slider = FloatSlider(\n", + " value=50,\n", + " min=10,\n", + " max=100,\n", + " step=1,\n", + " description='Radius:',\n", + " continuous_update=False\n", + ")\n", + "\n", + "# Display the slider and pass the update function as the callback\n", + "interact(update_circle_radius, radius=slider)\n", + "\n", + "# Define the HTML and JavaScript code for the initial D3.js circle\n", + "html_code = \"\"\"\n", "
\n", + "\n", "" + "\n", + "\"\"\"\n", + "\n", + "# Display the initial D3.js circle\n", + "display(HTML(html_code))" ] }, { diff --git a/build/html/notebooks/L1/1_ray_optics.html b/build/html/notebooks/L1/1_ray_optics.html index 90e783d..6740b77 100644 --- a/build/html/notebooks/L1/1_ray_optics.html +++ b/build/html/notebooks/L1/1_ray_optics.html @@ -217,7 +217,7 @@

Ray Optics

Law of reflection#

|

-

74410a67b2534d4f9009329c90514572

+

aac225b3eca74f0bb33ce989fda2deda

@@ -234,7 +234,7 @@

Law of reflection

Law of refraction#

|

-

5dacb075f2f74b528d720d4a439a7650

+

2698f2eb6e934a9bb5f8742afaa3de2e

@@ -249,7 +249,7 @@

Law of refraction\(\theta_1\) with the angle of the refracted ray \(\theta_2\).

With this law of refraction, there are a number of special situations, that occur. This is for example the total internal refraction. You can explore different situations with the short program below which gives you control over the refractive indices and the incident angles.

-
[89]:
+
[102]:
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
[92]:
+
[103]:
 
-
%%html
-<div id="d3-container"></div>
-<script>
-// Ensure D3.js is loaded
-if (d3) {
-    // Select the container
-    var container = d3.select("#d3-container");
-
-    // Append an SVG element to the container
-    var svg = container.append("svg")
-        .attr("width", 400)
-        .attr("height", 200);
-
-    // Append a circle to the SVG element
-    svg.append("circle")
-        .attr("cx", 100)
-        .attr("cy", 100)
-        .attr("r", 50)
-        .style("fill", "blue");
-
-    circle.transition()
-        .duration(10000) // 2 seconds
-        .attr("cx", 290) // End at the right side
-        .ease(d3.easeLinear); // Use a linear easing function
-
-} else {
-    console.error("D3.js is not loaded");
-}
-</script>
+
from ipywidgets import interact, FloatSlider
+from IPython.display import display, HTML, Javascript
+
+# Define the function to update the circle radius
+def update_circle_radius(radius):
+    display(Javascript(f"""
+        (function() {{
+            var circle = d3.select("#d3-circle");
+            if(circle) circle.attr("r", {radius});
+        }})();
+    """))
+
+# Create the slider widget
+slider = FloatSlider(
+    value=50,
+    min=10,
+    max=100,
+    step=1,
+    description='Radius:',
+    continuous_update=False
+)
+
+# Display the slider and pass the update function as the callback
+interact(update_circle_radius, radius=slider)
+
+# Define the HTML and JavaScript code for the initial D3.js circle
+html_code = """
+<div id="d3-container"></div>
+<script src="https://d3js.org/d3.v6.min.js"></script>
+<script>
+    var container = d3.select("#d3-container");
+    var svg = container.append("svg")
+        .attr("width", 200)
+        .attr("height", 200);
+    svg.append("circle")
+        .attr("id", "d3-circle")
+        .attr("cx", 100)
+        .attr("cy", 100)
+        .attr("r", 50)
+        .style("fill", "blue");
+</script>
+"""
+
+# Display the initial D3.js circle
+display(HTML(html_code))
 
@@ -339,44 +373,54 @@

Law of refraction

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Refraction on spherical boundary#

Many of the interesting situations of refraction occur on interfaces, which are curved. Lenses, for example, have curved surfaces and the angles of refraction therefore change depending on the position. We can model in the simplest case by a spherical surface or in 2D just by a circular interface. The diagram below shows the definition of such a situation.

|

-

05c275b8a6104130aadb74549604e00e

+

558c811cefab402b83315df907d7f0a8

diff --git a/build/html/notebooks/L1/1_ray_optics.ipynb b/build/html/notebooks/L1/1_ray_optics.ipynb index ec85e02..c2e94fa 100644 --- a/build/html/notebooks/L1/1_ray_optics.ipynb +++ b/build/html/notebooks/L1/1_ray_optics.ipynb @@ -130,12 +130,48 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 102, "id": "fbf42d2d-ba72-4d79-b251-bf343a9c054c", "metadata": { "tags": [] }, "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "text/html": [ @@ -184,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 103, "id": "a7043a8d-8a5a-4b0a-9ec3-3c61e77665b1", "metadata": { "tags": [] @@ -241,33 +277,70 @@ { "data": { "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81c9708e657a43299356d6d746905d25", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(FloatSlider(value=50.0, continuous_update=False, description='Radius:', min=10.0, step=1…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", "
\n", + "\n", "\n" ], "text/plain": [ @@ -279,35 +352,51 @@ } ], "source": [ - "%%html\n", + "from ipywidgets import interact, FloatSlider\n", + "from IPython.display import display, HTML, Javascript\n", + "\n", + "# Define the function to update the circle radius\n", + "def update_circle_radius(radius):\n", + " display(Javascript(f\"\"\"\n", + " (function() {{\n", + " var circle = d3.select(\"#d3-circle\");\n", + " if(circle) circle.attr(\"r\", {radius});\n", + " }})();\n", + " \"\"\"))\n", + "\n", + "# Create the slider widget\n", + "slider = FloatSlider(\n", + " value=50,\n", + " min=10,\n", + " max=100,\n", + " step=1,\n", + " description='Radius:',\n", + " continuous_update=False\n", + ")\n", + "\n", + "# Display the slider and pass the update function as the callback\n", + "interact(update_circle_radius, radius=slider)\n", + "\n", + "# Define the HTML and JavaScript code for the initial D3.js circle\n", + "html_code = \"\"\"\n", "
\n", + "\n", "" + "\n", + "\"\"\"\n", + "\n", + "# Display the initial D3.js circle\n", + "display(HTML(html_code))" ] }, { diff --git a/build/html/notebooks/L1/Lecture1.html b/build/html/notebooks/L1/Lecture1.html index 6d55ab5..eb82750 100644 --- a/build/html/notebooks/L1/Lecture1.html +++ b/build/html/notebooks/L1/Lecture1.html @@ -231,7 +231,7 @@

Geometrical Optics

Law of reflection#

|

-

0f1f40618ec74ff685f585593ae98d3c

+

21731832378f45ee8fb98edaeca2308b

diff --git a/build/html/searchindex.js b/build/html/searchindex.js index 1b895f0..e411c1a 100644 --- a/build/html/searchindex.js +++ b/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["course-info/assignments", "course-info/exam", "course-info/instructor", "course-info/resources", "course-info/schedule", "course-info/website", "index", "lectures/Intro/overview", "lectures/L1/assignment_1", "lectures/L1/overview_1", "notebooks/Intro/EditCells", "notebooks/Intro/Empty", "notebooks/Intro/Introduction2Jupyter", "notebooks/Intro/NotebookEditor", "notebooks/L1/1_ray_optics", "notebooks/L1/Lecture1", "notebooks/L1/spherical_surface"], "filenames": ["course-info/assignments.rst", "course-info/exam.rst", "course-info/instructor.rst", "course-info/resources.rst", "course-info/schedule.rst", "course-info/website.rst", "index.rst", "lectures/Intro/overview.rst", "lectures/L1/assignment_1.rst", "lectures/L1/overview_1.rst", "notebooks/Intro/EditCells.ipynb", "notebooks/Intro/Empty.ipynb", "notebooks/Intro/Introduction2Jupyter.ipynb", "notebooks/Intro/NotebookEditor.ipynb", "notebooks/L1/1_ray_optics.ipynb", "notebooks/L1/Lecture1.ipynb", "notebooks/L1/spherical_surface.ipynb"], "titles": ["Assignments", "Exams", "Instructor", "Resources", "Course Schedule", "This Website", "Welcome to the Introduction to Photonics 1!", "Overview", "Exercise 1", "Lecture Contents", "Entering code", "An empty notebook", "Introduction to Jupyter", "Notebook editor", "General Optics", "1. General Optics", "<no title>"], "terms": {"thi": [0, 1, 3, 6, 10, 11, 12, 13, 14, 15, 16], "i": [1, 4, 5, 6, 8, 10, 13, 14, 15], "websit": [3, 10], "physic": [3, 5, 6, 7, 14], "schedul": [], "assign": [4, 5], "exam": [], "resourc": 5, "molecular": 15, "nanophoton": [], "group": 1, "python": [5, 9, 10, 12], "document": 10, "tutori": [], "instructor": [], "overview": [], "introduct": [1, 3, 9], "what": [1, 14], "editor": 7, "kernel": [], "edit": [10, 12], "mode": [10, 14, 15], "command": 10, "keyboard": 10, "navig": [], "run": 12, "code": [0, 1, 5, 7, 12], "manag": [], "enter": [7, 13], "markdown": [7, 8, 12, 13], "basic": [1, 9, 12, 13], "head": [], "embed": 12, "latex": [8, 12], "equat": [12, 14, 15], "imag": [12, 14, 15], "video": [0, 4, 5], "content": [5, 10, 12, 13], "exercis": [], "index": [6, 14], "modul": [6, 9, 10, 14, 15], "search": 6, "page": [5, 6, 10, 11, 12, 13, 14, 15, 16], "The": [0, 1, 4, 5, 7, 8, 12, 13, 14, 15], "lectur": [0, 4, 5], "held": 0, "complet": [0, 5, 10, 12], "onlin": [0, 4, 5], "year": 0, "we": [0, 1, 4, 5, 6, 8, 9, 10, 13, 14, 15], "suppli": 0, "also": [0, 1, 4, 5, 10, 12, 14, 15], "problem": [0, 1], "set": [0, 13, 14, 15, 16], "everi": [0, 4, 5], "week": [0, 4, 5], "all": [0, 1, 5, 12, 14, 15], "student": [0, 1], "come": [0, 4, 14, 15], "jupyt": [0, 1, 5, 7, 8, 9, 10, 13], "notebook": [0, 1, 4, 5, 7, 9, 10, 14, 15, 16], "individu": [0, 1, 10, 12], "pleas": [0, 4, 5], "fill": [0, 14], "answer": 0, "your": [0, 1, 5, 10, 12, 13], "ar": [0, 1, 3, 5, 9, 10, 12, 13, 14, 15], "ask": [0, 5], "return": [0, 10, 12, 14], "befor": [0, 15], "tuesdai": [0, 4], "morn": 0, "you": [0, 1, 3, 4, 5, 8, 9, 10, 12, 13, 14], "receiv": 0, "web": [0, 5, 12], "address": [0, 8, 14], "our": [0, 5, 8], "server": [0, 4, 5, 8, 12], "well": [0, 3, 5, 8, 10, 12, 15], "login": [0, 5, 8], "password": [0, 5, 8], "find": [0, 1, 3, 5, 15], "below": [0, 3, 10, 13, 14, 15], "short": [0, 14, 15], "how": [0, 10, 15], "download": [0, 5], "close": [1, 5, 14, 15], "cours": [1, 3, 5, 6, 7, 15], "an": [1, 4, 5, 8, 10, 12, 13, 14, 15], "form": [1, 10, 12, 14], "final": [1, 12, 14], "project": [1, 5, 10, 15], "shall": [1, 15], "topic": [1, 6, 7, 14], "choic": 1, "one": [1, 6, 10, 13, 14, 15], "provid": [1, 8, 10, 12, 13, 14], "exampl": [1, 10, 14], "hand": 1, "each": [1, 5, 12, 14, 15], "requir": [1, 5, 15], "No": 1, "work": [1, 5, 10, 15], "allow": [1, 5, 12, 13, 14], "follow": [1, 5, 10, 13, 14, 15], "outlin": 1, "introduc": [1, 6], "cover": 1, "motiv": 1, "go": [1, 5, 10, 13, 14, 15], "do": [1, 10, 14, 15], "should": [1, 10], "theoret": 1, "descript": [1, 6, 14], "solv": [1, 14, 15], "result": [1, 12, 14], "discuss": [1, 3, 5, 14], "develop": 1, "anot": 1, "step": [1, 16], "It": [1, 5, 6, 8, 12, 14, 15], "import": [1, 10, 13, 14, 15, 16], "highlight": 1, "consequ": [1, 15], "summari": 1, "summar": 1, "notbook": 1, "grade": [1, 15], "accord": [1, 14], "common": [1, 14], "scheme": 1, "email": [2, 12], "lastnam": 2, "physik": 2, "uni": 2, "leipzig": 2, "de": 2, "prof": 2, "dr": 2, "frank": 2, "cicho": [2, 15], "linn\u00e9str": 2, "5": [2, 13, 14, 15, 16], "04103": 2, "offic": 2, "322": 2, "phone": 2, "0341": 2, "97": 2, "32571": 2, "There": [3, 10, 12, 13, 14, 15], "ton": 3, "addit": [3, 12, 15], "structur": 3, "net": [3, 10], "onli": [3, 10, 14, 15], "veri": [3, 14], "small": [3, 14, 15], "select": [3, 10, 13, 14], "comput": [3, 5, 6, 12, 14], "base": [3, 5, 12, 14, 15], "model": [3, 5, 14], "mona": [3, 5], "forum": [3, 5], "matplotlib": [3, 15, 16], "panda": 3, "scienc": [3, 6], "nice": [3, 10], "updat": [4, 5, 14, 15], "weekli": 4, "thu": [4, 12, 13, 15], "expect": 4, "start": [4, 5, 6, 9, 10, 12], "april": 4, "7th": 4, "1": [4, 10, 13, 14, 16], "30": [4, 7], "pm": [4, 15], "new": [4, 5, 10, 13, 15], "As": [4, 8, 14], "materi": [4, 14, 15], "avail": [4, 12, 13], "can": [4, 5, 9, 10, 12, 13, 14, 15], "back": [4, 12], "studi": 4, "whenev": 4, "suitabl": [4, 14], "add": [4, 10, 12, 16], "explain": [4, 5, 10], "detail": [4, 12], "explor": [4, 5, 6, 9, 14, 15], "especi": 4, "mybind": [4, 5, 13], "thei": [4, 10, 14], "help": [4, 10, 12], "finish": [4, 13], "contain": [5, 6, 12, 14, 15], "inform": [5, 14, 15], "yet": [5, 12, 14], "accompani": [5, 12], "mai": [5, 10, 12], "get": [5, 15], "along": [5, 15], "just": [5, 10, 12, 14, 15], "read": [5, 12], "And": [5, 10], "give": [5, 14, 15], "chanc": 5, "interact": [5, 6, 12, 15], "have": [5, 9, 10, 13, 14, 15], "creat": [5, 9, 10, 12, 15, 16], "which": [5, 10, 12, 13, 14, 15], "reach": [5, 14], "ha": [5, 12, 13, 14, 15], "differ": [5, 12, 13, 14, 15], "categori": 5, "hope": 5, "us": [5, 6, 10, 12, 13, 14, 15], "intens": [5, 15], "question": 5, "guid": 5, "from": [5, 6, 10, 11, 12, 13, 14, 15, 16], "here": [5, 10, 12, 14, 15], "sever": [5, 14], "learn": 5, "program": [5, 12, 14, 15], "therebi": 5, "make": [5, 8, 10, 13, 14, 15, 16], "some": [5, 10, 14], "great": [5, 10], "tool": 5, "like": [5, 10, 12, 13, 14, 15], "servic": [5, 12], "host": 5, "http": [5, 10, 14], "org": [5, 12, 14], "binder": 5, "offer": 5, "easi": [5, 10], "place": 5, "share": [5, 12, 15], "environ": [5, 9, 12], "everyon": 5, "when": [5, 10, 12, 13, 14], "notic": 5, "icon": 5, "indic": [5, 13, 14, 15], "webpag": 5, "rather": 5, "than": [5, 10, 15], "look": [5, 13, 14, 15, 16], "click": [5, 10], "open": [5, 9, 13, 15], "patient": 5, "wait": 5, "until": [5, 13], "temporarili": 5, "If": [5, 10, 12, 13, 14, 15], "show": [5, 12, 13, 14, 15, 16], "inact": 5, "long": 5, "connect": [5, 12, 13], "finsih": 5, "keep": 5, "copi": [5, 13], "ahead": 5, "empti": 5, "github": [5, 12], "com": 5, "collabor": 5, "includ": [5, 10, 12, 14], "version": [5, 12, 13], "control": [5, 10, 12, 13, 14, 15], "In": [5, 6, 10, 13], "upper": 5, "right": [5, 10, 13, 14, 15, 16], "corner": [5, 13], "link": [5, 10], "repositori": 5, "anaconda": 5, "packag": 5, "www": 5, "distribut": 5, "privid": 5, "want": [5, 10, 14, 15], "home": 5, "without": [5, 8, 12, 15], "access": [5, 10], "good": [5, 10], "instal": [5, 12], "languag": [9, 10, 12], "kind": [], "scientif": [], "engin": [], "task": [], "analyz": [], "plot": [12, 14, 15, 16], "data": [9, 12], "numer": [], "difficult": [14, 15], "even": 14, "imposs": [], "analyt": [], "freeli": [], "been": 13, "due": 15, "its": [10, 12, 14], "modular": [], "extend": [], "nearli": [], "infinit": [], "number": [14, 15], "purpos": [], "intend": [], "aim": [], "more": [6, 10, 13, 14, 15], "beginn": [], "advanc": [6, 13, 14], "user": [12, 13], "interest": [14, 15], "throughout": [], "function": [10, 14, 15], "curv": [14, 15], "fit": [], "write": [10, 12, 15], "file": 12, "encount": [], "dure": [], "anim": [], "insid": [], "simul": 10, "process": [12, 13], "mechan": [14, 15], "electrostat": [], "wave": [6, 7, 14], "quantum": 15, "optic": 6, "At": [], "end": [10, 14, 15], "machin": [], "now": [10, 14, 15], "becom": 10, "present": [], "comprehens": [], "list": [8, 10], "stimul": [], "curios": [], "slight": [], "syntax": [], "alwai": [14, 15], "refer": [], "3": [10, 14, 16], "standard": [], "experiment": 7, "iii": 7, "deal": 7, "two": [7, 10, 13, 14, 15], "major": 7, "electromagnet": [6, 7, 14], "particl": [7, 15], "environn": 7, "00": [7, 9], "05": 7, "09": [7, 9], "43": 7, "16": 7, "15": [7, 9, 15], "first": [8, 10, 14, 15], "jupyterhub": 8, "ip": 8, "yourself": 8, "familiar": 8, "interfac": [8, 12, 13, 14, 15], "correspond": [8, 14], "classic": [8, 15], "ani": [8, 12, 13, 14], "tab": [8, 10, 12], "string": 8, "dictionari": 8, "after": [9, 15], "hopefulli": 9, "abl": [9, 13], "variabl": [9, 15], "type": [9, 10, 12, 13, 14], "01": [9, 15], "23": 9, "oper": [9, 13], "comparison": 9, "42": 9, "22": [9, 15], "namespac": [9, 10], "45": [9, 15], "03": [9, 15], "wa": [10, 11, 12, 13, 14, 15, 16], "gener": [6, 10, 11, 12, 13, 16], "intro": [10, 11, 12, 13], "editcel": 10, "ipynb": [10, 11, 12, 13, 14, 15, 16], "pretti": 10, "cell": [10, 12, 13], "multipl": 10, "line": [10, 15], "press": [10, 13], "block": 10, "identifi": [10, 14], "belong": [10, 14, 15], "togeth": [10, 14], "ident": 10, "longer": 10, "later": [10, 14], "To": 10, "indent": 10, "either": 10, "whitespac": 10, "comment": 10, "ad": 10, "annot": 10, "someon": 10, "els": [10, 14, 15], "understand": [10, 12], "singl": [6, 10, 14, 15], "charact": 10, "front": 10, "over": [10, 12, 14], "same": [10, 15], "docstr": 10, "text": [10, 12, 13, 14, 15], "2": [10, 14, 15, 16], "typic": [10, 15], "def": [10, 14, 15], "x": [10, 13, 14, 15], "calcul": [10, 15], "argument": 10, "float": 10, "integ": [10, 14], "valu": 10, "y": [10, 13, 14, 15], "time": [10, 14, 15], "don": [10, 12], "t": [10, 12, 13, 14, 15], "forget": 10, "__main__": 10, "extrem": 10, "wai": [10, 12, 14, 15], "everyth": 10, "realli": [10, 14], "chang": [10, 13, 14, 15], "action": 10, "menu": [10, 13], "hardwar": [10, 13], "shortcut": [10, 13], "m": [10, 13, 14], "popular": 10, "markup": [10, 12], "superset": 10, "html": [10, 12, 14], "Its": 10, "specif": [10, 12, 14], "found": 10, "daringfirebal": 10, "render": [10, 12, 13], "unrend": 10, "see": [10, 13, 14], "format": [10, 12, 15], "represent": [10, 12], "": [10, 12, 13, 14], "raw": [10, 12, 13], "sourc": [10, 14, 15], "button": [10, 13], "shift": [10, 13, 15], "doubl": 10, "appear": 10, "put": 10, "ital": 10, "bold": 10, "build": 10, "nest": 10, "item": 10, "enumer": 10, "subitem": 10, "subsubitem": 10, "second": [10, 14, 15], "third": [10, 15], "anoth": [10, 13, 14], "sublist": 10, "blockquot": 10, "beauti": 10, "better": 10, "ugli": 10, "explicit": 10, "implicit": 10, "simpl": [6, 10, 12, 15], "complex": [6, 10, 14, 15], "complic": 10, "flat": 10, "spars": 10, "dens": 10, "readabl": 10, "count": 10, "special": [10, 14, 15], "case": [10, 14, 15], "aren": 10, "enough": 10, "break": [10, 14], "rule": 10, "although": 10, "practic": 10, "beat": [10, 15], "puriti": 10, "error": [10, 14, 15], "never": 10, "pass": 10, "silent": 10, "unless": 10, "explicitli": 10, "silenc": 10, "face": 10, "ambigu": 10, "refus": 10, "temptat": 10, "guess": 10, "prefer": 10, "obviou": 10, "re": [10, 15], "dutch": 10, "often": [10, 15], "implement": 10, "hard": 10, "bad": 10, "idea": 10, "honk": 10, "let": [10, 15], "those": 10, "shorthand": 10, "space": [10, 15], "emb": 10, "meant": [10, 12], "illustr": 10, "instead": 10, "execut": [10, 12, 13], "f": [10, 14], "other": [10, 12, 14, 15], "0": [10, 13, 14, 15, 16], "n": [10, 14, 15], "printf": 10, "hello": 10, "d": [10, 13, 14, 15], "4": [10, 14, 16], "courtesi": 10, "mathjax": 10, "mathemat": [10, 14, 15], "express": [10, 14, 15], "both": [10, 15], "inlin": 10, "e": [10, 13, 14, 15], "pi": [10, 14, 15], "displai": [10, 12, 14], "sum_": [10, 14, 15], "infti": [10, 15], "frac": [10, 14, 15], "surround": 10, "own": [10, 12], "directli": 10, "integr": [10, 14, 15], "altern": 10, "url": [10, 12], "src": [10, 14], "mov": 10, "movi": 10, "mp4": 10, "width": [10, 14, 15], "320": 10, "height": [10, 14], "200": [10, 14], "preload": 10, "store": 10, "local": [10, 15], "youtub": 10, "ipython": [10, 14], "9": [10, 14, 15], "youtubevideo": 10, "qllx32jugzi": 10, "600": [10, 15], "introduction2jupyt": 12, "A": [12, 13, 15], "browser": 12, "enabl": 12, "These": [12, 14], "self": 12, "record": 12, "convert": 12, "variou": 12, "system": [12, 14, 15], "git": 12, "nbviewer": 12, "combin": 12, "three": [12, 15], "compon": [12, 14], "applic": [6, 12, 14], "desktop": 12, "separ": [12, 13, 15], "given": [12, 14, 15], "output": 12, "handl": 12, "thing": 12, "widget": [12, 15], "introspect": 12, "visibl": 12, "input": 12, "rich": 12, "media": [6, 12], "object": [12, 14, 15], "brows": 12, "individual": 12, "arbitrari": 12, "oder": [12, 14, 15], "png": 12, "svg": [12, 14], "pdf": 12, "javascript": 12, "bind": 12, "visual": [12, 14], "reactiv": 12, "side": [12, 14, 15], "bound": 12, "almost": 12, "dedic": [12, 13], "100": [12, 13, 14], "julia": 12, "r": [12, 13, 14, 15], "rubi": 12, "haskel": 12, "scala": 12, "mani": [6, 12, 13, 14, 15], "default": 12, "pick": 12, "commun": 12, "json": 12, "zeromq": 12, "websocket": 12, "messag": 12, "protocol": 12, "describ": [12, 14, 15], "most": [12, 13, 15], "need": [12, 14, 15], "know": [12, 14], "about": 12, "session": 12, "filesystem": 12, "extens": 12, "easili": 12, "consist": 12, "linear": [6, 12, 14], "sequenc": 12, "live": 12, "narr": 12, "unformat": 12, "modif": 12, "nbconvert": 12, "intern": 12, "binari": 12, "encod": 12, "base64": 12, "them": [12, 14], "manipul": [6, 12, 13], "programmat": 12, "export": 12, "static": 12, "restructeredtext": 12, "slide": 12, "reveal": 12, "j": [12, 13, 14, 15], "util": 12, "furthermor": 12, "public": 12, "via": 12, "load": [12, 14], "notebookeditor": 13, "essenti": 13, "where": [13, 14], "jupyterlab": 13, "blue": [13, 14, 15], "border": 13, "prompt": 13, "area": 13, "normal": [13, 14, 15], "grei": 13, "io": 13, "devic": 13, "modal": 13, "optim": 13, "effici": 13, "usag": 13, "made": [13, 15], "possibl": [13, 15], "activ": 13, "rel": [13, 15], "few": 13, "entir": 13, "so": [13, 15], "ones": 13, "switch": 13, "mod": 13, "esc": 13, "k": [13, 14, 15], "current": [13, 15], "save": 13, "insert": [13, 14, 15], "abov": [13, 14, 15], "b": [13, 15], "pasteboard": 13, "cut": 13, "c": [13, 14, 15], "v": [13, 15], "past": 13, "delet": 13, "z": [13, 14, 15], "undo": 13, "interrupt": 13, "restart": 13, "bottom": 13, "panel": 13, "10": [13, 15], "print": 13, "coupl": [13, 15], "move": 13, "option": [13, 16], "call": [13, 14, 15], "top": [13, 14], "report": 13, "state": [13, 14, 15], "mean": [13, 14, 15], "readi": 13, "busi": 13, "tap": 13, "reconnect": 13, "try": [13, 15], "won": 13, "l1": [14, 15, 16], "1_ray_opt": 14, "ipywidget": 15, "pyplot": [15, 16], "plt": [14, 15, 16], "numpi": 15, "np": [14, 15], "deliv": 14, "simplest": [14, 15], "light": [6, 14], "propag": [6, 14, 15], "despit": 14, "simplif": 14, "power": [6, 14, 15], "howev": 14, "doe": 14, "insight": 14, "govern": 14, "geometr": 14, "therefor": [14, 15], "assumpt": [14, 15], "travel": [14, 15], "emit": [14, 15], "detect": [14, 15], "detector": [14, 15], "effect": 14, "medium": 14, "c_": [14, 15], "take": [14, 15], "distanc": [14, 15], "nd": [14, 15], "amount": [14, 15], "path": [14, 15], "length": [14, 15], "satisfi": [14, 15], "neither": 14, "speed": [14, 15], "nor": 14, "someth": 14, "consid": 14, "infer": 14, "observ": 14, "figur": [14, 15, 16], "angl": [14, 15, 16], "incid": [14, 15], "equal": [14, 15, 16], "begin": [14, 15], "theta_": [14, 15], "n_": [14, 15], "sin": [14, 15], "known": [14, 15], "snell": [14, 15], "relat": [14, 15], "theta_1": [14, 15], "theta_2": [14, 15], "With": [14, 15], "situat": [14, 15], "occur": [14, 15], "total": [], "fig": [14, 15, 16], "ax": [14, 15, 16], "subplot": [14, 15, 16], "figsiz": [14, 15], "canva": [14, 15], "header_vis": [14, 15], "fals": [14, 15], "n1": [14, 15], "n2": [14, 15], "90": [14, 15, 16], "remov": [14, 15], "old": 15, "cla": 15, "theta1": [14, 15, 16], "180": [15, 16], "theta2": [15, 16], "arcsin": [14, 15], "set_titl": [14, 15], "axvlin": [14, 15], "l": 15, "04": 15, "n_2": [14, 15], "n_1": [14, 15], "round": 15, "axhlin": 15, "color": [14, 15], "lw": 15, "quiver": 15, "co": [14, 15], "scale": 15, "pivot": 15, "tip": 15, "red": 15, "lens": [14, 15], "surfac": [14, 15], "depend": [14, 15], "posit": [14, 15], "2d": [14, 15], "circular": [14, 15], "diagram": [14, 15], "definit": [14, 15], "alpha": [14, 15], "delta": [14, 15], "tan": [14, 15], "z_2": [14, 15], "z_1": [14, 15], "gamma": 15, "approx": [14, 15], "replac": 15, "n_2r": [14, 15], "conjug": 15, "plane": 15, "quad": [14, 15], "rightarrow": [14, 15], "yz_2": [14, 15], "left": [14, 15], "z_2y": [14, 15], "independ": 15, "up": [14, 15], "point": [14, 15], "foundat": [6, 14, 15], "biconvex": 15, "len": [], "appli": [14, 15], "formula": 15, "twice": 15, "theta_t": [14, 15], "nr_1": [14, 15], "r_2": [14, 15], "r_1": [14, 15], "maker": [14, 15], "tell": [14, 15], "radii": [14, 15], "flip": [14, 15], "sign": [14, 15], "sinc": [14, 15], "direct": [14, 15], "y_2": [14, 15], "y_1": [14, 15], "magnif": [14, 15], "limit": [14, 15], "paraxi": [14, 15], "approxim": [14, 15], "6": [14, 15], "120": [14, 15], "dot": [14, 15], "ll": [14, 15], "rm": [14, 15], "radian": [14, 15], "true": [14, 15], "microscopi": [6, 14, 15], "80": [14, 15], "still": [14, 15], "lecture1": 15, "2020": 15, "violat": 15, "primari": 15, "abber": 15, "classif": 15, "seidel": 15, "1821": 15, "1896": 15, "coma": [14, 15], "astigmat": [14, 15], "field": [6, 15], "curvatur": [14, 15], "distort": 15, "2z_1": 15, "chromat": 15, "measur": 15, "correct": 15, "shape": [14, 15], "nowadai": 15, "adapt": [6, 15], "spatial": 15, "max": 15, "larger": [14, 15], "solut": 15, "theta_c": [14, 15], "glass": [14, 15], "41": [14, 15], "8": [14, 15], "water": 15, "48": 15, "7": 15, "diamond": 15, "24": 15, "h": 15, "_2": 15, "o": 15, "33": 15, "loss": 15, "central": 15, "core": 15, "clad": 15, "lower": [14, 15], "low": 15, "multimod": 15, "gradient": 15, "mostli": 15, "silica": 15, "sio": 15, "44": 15, "46": 15, "001": 15, "02": 15, "overlin": 15, "phi": [14, 15], "theta": 15, "theta_a": 15, "sqrt": [14, 15], "na": 15, "qquad": 15, "ay_1": 15, "cy_1": 15, "arrai": [14, 15], "rr": 15, "transfer": 15, "bmatrix": 15, "convex": 15, "concav": 15, "whole": 15, "precalcul": 15, "matric": 15, "element": [14, 15], "m_nm_": 15, "m_1": 15, "rememb": 15, "free": 15, "perfect": 15, "cloack": 15, "appar": 15, "immit": 15, "condit": 15, "afoc": 15, "except": 15, "nbsphinx": 15, "math": [14, 15], "f_2": 15, "f_1": 15, "f_1f_2": 15, "f_3": 15, "t_2": 15, "t_1": 15, "four": 15, "t_1t_2": 15, "t_4": 15, "f_4": 15, "t_3": 15, "2t_1": 15, "2f_2": 15, "vec": 15, "op": 15, "int_a": 15, "mathrm": 15, "taken": 15, "proporton": 15, "extremum": 15, "neighbor": 15, "minimum": 15, "maximum": 15, "inflect": 15, "usual": 15, "pmatrix": 15, "y_0": 15, "opl": 15, "split": 15, "l_1": 15, "l_2": 15, "beta": 15, "equiv": 15, "2r_2": 15, "2f": [14, 15], "must": 15, "converg": 15, "global": 15, "nabla": 15, "trajectori": 15, "variat": [14, 15], "calculu": 15, "dx": 15, "partial": 15, "dy": 15, "dz": 15, "hspace": 15, "9cm": 15, "parametr": 15, "const": 15, "straight": 15, "selfoc": 15, "n_0": 15, "2y": 15, "parabol": 15, "profil": 15, "theta_0": 15, "squar": 15, "potenti": 15, "magnifi": 15, "simplifi": 15, "behind": 15, "virtual": 15, "real": 15, "construct": 15, "2x": 15, "da": 15, "aa": 15, "cosh": 15, "sinh": 15, "x_": 15, "y_": 15, "check": [14, 15], "veloc": 15, "horizont": 15, "n_h": 15, "newton": 15, "dt": 15, "u": 15, "coulomb": 15, "q": 15, "epsilon_0": 15, "r_": 15, "rf": 15, "chi": 15, "photon": 15, "prf": 15, "zeta": 15, "hbar": 15, "lambda": 15, "_k": 15, "wavelength": 15, "character": 15, "c_0": 15, "2u": 15, "superposit": 15, "u_1": 15, "u_2": 15, "a_1u_1": 15, "a_2u_2": 15, "langl": 15, "rangl": 15, "averag": 15, "cycl": 15, "nm": 15, "omega": 15, "amplitud": 15, "frequenc": [14, 15], "nu": 15, "phase": 15, "helmholtz": 15, "arg": 15, "wavefront": [14, 15], "ikr": 15, "outward": 15, "inward": 15, "_0": 15, "origin": [14, 15], "fresnel": 15, "axi": [14, 15], "taylor": 15, "align": 15, "2z": 15, "ikz": 15, "ik": 15, "kz": 15, "4z": 15, "n_f": 15, "2_m": 15, "theta_m": 15, "wavevector": 15, "nk_0": 15, "stai": 15, "lambda_0": 15, "_1": 15, "k_": 15, "1x": 15, "k_1": 15, "k_2": 15, "1z": 15, "_3": 15, "n_1k_0": 15, "k_3": 15, "n_2k_0": 15, "3x": 15, "tangenti": 15, "conserv": 15, "repres": [14, 15], "ik_0": 15, "label": [14, 15], "magnitud": 15, "k_0": 15, "ref": 15, "2a": 15, "imaginari": 15, "part": 15, "zero": 15, "indenpend": 15, "vari": 15, "slowli": 15, "eikon": 15, "proport": 15, "transmitt": 15, "ikd": 15, "thick": 15, "air": [14, 15], "d_0": 15, "h_0": 15, "ik_0d_0": 15, "valid": 15, "big": 15, "2r": 15, "ink_0d_0": 15, "constant": 15, "transform": [14, 15], "paraboloid": 15, "center": [15, 16], "diffract": 15, "grate": 15, "transmit": 15, "sampl": 15, "mu": 15, "camera": 15, "_": 15, "cam": 15, "int": 15, "i2": 15, "prime": 15, "contrast": 15, "dpc": 15, "i_t": 15, "i_b": 15, "superpos": 15, "i_1": 15, "i_2": 15, "u_1u_2": 15, "phi_1": 15, "phi_2": 15, "i_1i_2": 15, "i_0": 15, "i_": 15, "min": [14, 15], "translat": 15, "2i_0": 15, "exist": 15, "monochromat": 15, "u_m": 15, "i_3": 15, "between": 15, "seri": [6, 15], "im": 15, "peak": 15, "bar": 15, "mi_0": 15, "hu_1": 15, "u_3": 15, "2u_1": 15, "4r": 15, "ge": 15, "tild": 15, "finess": 15, "mathcal": 15, "simeq": 15, "2nd": 15, "spectral": 15, "rang": [14, 15], "interfer": 15, "laser": 15, "caviti": 15, "fabri": 15, "perot": 15, "interferomet": 15, "digit": 15, "holographi": 15, "track": 15, "domain": 15, "nu_1": 15, "nu_2": 15, "odd": 15, "2l": 15, "nu_q": 15, "nu_0": 15, "nu_f": 15, "interval": 15, "sum": [14, 15], "phasor": 15, "again": 15, "nu_ft": 15, "t_f": 15, "puls": 15, "ghz": 15, "1000": [14, 15], "lock": 15, "tau": 15, "comb": 15, "far": 15, "u_0": 15, "envelop": 15, "nabla_t": 15, "i2k": 15, "helmholz": 15, "2_t": 15, "a_1": 15, "rho": [14, 15], "xi": 15, "iz_0": 15, "z_0": 15, "rayleigh": 15, "w": 15, "radiu": [14, 15, 16], "a_0": 15, "w_0": 15, "paramet": 15, "perp": 15, "gg": 15, "invers": 15, "int_0": 15, "within": 15, "certain": [14, 15], "rho_0": 15, "86": 15, "99": 15, "waist": 15, "spot": 15, "size": 15, "theta_0z": 15, "increas": 15, "linearli": 15, "larg": 15, "diverg": 15, "simlarli": 15, "slit": 15, "heisenberg": 15, "depth": 15, "focu": 15, "2z_0": 15, "additon": 15, "retard": 15, "guoi": 15, "v_p": 15, "arctan": 15, "2_0": 15, "mw_0": 15, "locat": [14, 15], "m_r": 15, "q_2": 15, "aq_1": 15, "cq_1": 15, "abcd": 15, "q_1": 15, "focus": 15, "2_2": 15, "w_2": 15, "focal": 15, "non": [6, 14, 15], "g": 15, "u_": 15, "h_m": 15, "h_n": 15, "hermit": 15, "polynomi": 15, "h_1": 15, "20": 15, "h_2": 15, "wavefunct": 15, "mirror": 15, "l_p": 15, "il": 15, "2p": 15, "laguerr": 15, "radial": [14, 15], "azimuth": [14, 15], "neg": [14, 15], "helic": 15, "topolog": 15, "charg": 15, "gauss": 15, "electr": 15, "magnet": 15, "vector": 15, "maxwel": 15, "varepsilon_0": 15, "mu_0": 15, "36": 15, "permitt": 15, "permeabl": 15, "varepsilon": 15, "alreadi": [14, 15], "_0e": 15, "transvers": 15, "energi": 15, "densiti": 15, "u_b": 15, "flow": [6, 15], "poynt": 15, "rangle_t": 15, "e_0": 15, "eta_0": 15, "mu_0c_0": 15, "377": 15, "imped": 15, "vacuum": 15, "radiat": 15, "pressur": 15, "electron": 15, "cloud": 15, "displac": 15, "against": 15, "nucleu": 15, "dipol": 15, "elementari": 15, "11": 15, "75": 15, "13": 15, "mm": 15, "atom": 15, "glanc": 15, "per": 15, "unit": [14, 15], "volum": 15, "hat": 15, "g_b": 15, "oint_": 15, "q_b": 15, "int_v": 15, "dv": 15, "rho_b": 15, "nq": 15, "flux": 15, "assum": [14, 15], "rest": 15, "orient": 15, "ionic": 15, "degener": 15, "propto": 15, "histori": 15, "p_i": 15, "sum_j": 15, "chi_": 15, "ij": 15, "e_j": 15, "d_i": 15, "varepsilon_": 15, "int_": 15, "a_2": 15, "a_3": 15, "e_": 15, "e_a": 15, "delai": 15, "nfrac": 15, "sim": 15, "plate": 15, "suscept": 15, "scalar": 15, "varepsilon_r": 15, "damp": 15, "harmon": 15, "oscil": 15, "ddot": 15, "sigma": 15, "omega_0": 15, "x_0": 15, "respons": 15, "eta": 15, "q_e": 15, "nq_e": 15, "polariz": 15, "chi_0": 15, "treatment": 15, "ne": 15, "f_j": 15, "omega_j": 15, "sigma_j": 15, "strength": 15, "f_": 15, "12": [14, 15], "m_l": 15, "hbar\u00b2": 15, "e_2": 15, "e_1": 15, "lorentz": 15, "kappa": 15, "2i": 15, "2k_0": 15, "coeffici": 15, "weakli": 15, "absorb": 15, "dn": 15, "intim": 15, "stem": 15, "polarizazit": 15, "a_x": 15, "_x": 15, "a_i": 15, "_y": 15, "phi_x": 15, "phi_i": 15, "e_x": 15, "e_i": 15, "e_xe_i": 15, "a_xa_i": 15, "half": 15, "2a_xa_i": 15, "circ": 15, "ellipt": 15, "neq": 15, "formal": 15, "j_1": 15, "j_2": 15, "a_": 15, "1y": 15, "determin": 15, "under": [14, 15], "rai": 6, "facet": 6, "research": 6, "involv": [6, 14], "propgat": 6, "fundament": 6, "matter": 6, "disord": 6, "quanta": 6, "superresolut": 6, "fastest": 6, "grow": 6, "fourier": 6, "anisotrop": 6, "lai": 6, "patch": 16, "defin": [14, 16], "arc": 16, "degre": [14, 16], "add_patch": 16, "aspect": 16, "set_aspect": 16, "set_xlim": 16, "set_ylim": 16, "draw": 14, "further": 14, "hit": 14, "nonlinear": 14, "angular": 14, "obtain": 14, "expand": 14, "bracket": 14, "lead": 14, "note": 14, "seen": 14, "latter": 14, "actual": 14, "level": 14, "deriv": 14, "orthonorm": 14, "wide": 14, "did": 14, "disk": 14, "particularli": 14, "becaus": 14, "orthogon": 14, "inner": 14, "product": 14, "circl": 14, "decompos": 14, "polar": 14, "coordin": 14, "z_n": 14, "r_n": 14, "geq": 14, "leq": 14, "2k": 14, "method": 14, "being": 14, "noll": 14, "pair": 14, "order": 14, "ophthalmologi": 14, "human": 14, "ey": 14, "decomposit": 14, "simpler": 14, "defocu": 14, "etc": 14, "radial_polynomi": 14, "zeros_lik": 14, "ab": 14, "factori": 14, "zernike_polynomi": 14, "linspac": 14, "400": 14, "xx": 14, "yy": 14, "meshgrid": 14, "arctan2": 14, "mask": 14, "nan": 14, "flatten": 14, "imshow": 14, "extent": 14, "off": 14, "tight_layout": 14, "spherical_surfac": 16, "outgo": 14, "characterist": 14, "onto": 14, "revers": 14, "anymor": 14, "out": 14, "phenomenon": 14, "fantast": 14, "54": 14, "snell_law": 14, "theta1_degre": 14, "theta1_radian": 14, "sin_theta2": 14, "theta2_radian": 14, "n1_glass": 14, "n2_air": 14, "theta2_glass_to_air": 14, "dpi": 14, "150": 14, "linestyl": 14, "critic": 14, "\u03b8c": 14, "xlabel": 14, "\u03b8_1": 14, "ylabel": 14, "\u03b8_2": 14, "xlim": 14, "ylim": 14, "grid": 14, "61": 14, "62": [], "html_code": [], "id": 14, "mycanva": [], "style": 14, "1px": [], "solid": [], "000000": [], "support": [], "html5": [], "tag": [], "script": 14, "var": 14, "getelementbyid": [], "ctx": [], "getcontext": [], "rectangl": [], "fillstyl": [], "0000ff": [], "fillrect": [], "63": [], "mybutton": [], "me": [], "handlebuttonclick": [], "alert": [], "addeventlisten": [], "64": [], "createel": [], "cdnj": [], "cloudflar": [], "ajax": [], "lib": [], "d3": 14, "appendchild": [], "consol": 14, "log": [], "window": [], "65": [], "svg_script": [], "append": 14, "attr": 14, "300": [], "stroke": [], "grai": [], "cyan": [], "130": [], "cx": 14, "cy": 14, "transit": 14, "durat": 14, "10000": 14, "69": [], "load_d3_in_cell_output": 14, "d3j": 14, "v6": 14, "get_ipython": 14, "event": 14, "regist": 14, "pre_run_cel": 14, "70": [], "div": 14, "ensur": 14, "50": 14, "89": 14, "92": 14, "290": 14, "eas": 14, "easelinear": 14}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"welcom": 6, "experiment": [], "physik": [], "3": 15, "cours": 4, "inform": [], "jupyt": 12, "notebook": [11, 12, 13], "lectur": [6, 9], "1": [6, 8, 15], "indic": 6, "tabl": 6, "assign": 0, "exam": 1, "instructor": 2, "resourc": 3, "molecular": 3, "nanophoton": 3, "group": 3, "python": 3, "document": [3, 12], "tutori": 3, "schedul": 4, "thi": 5, "websit": 5, "introduct": [6, 12], "photon": 6, "overview": 7, "exercis": 8, "content": 9, "enter": 10, "code": [10, 13], "markdown": 10, "basic": 10, "head": 10, "embed": 10, "latex": 10, "equat": 10, "imag": 10, "video": 10, "an": 11, "empti": 11, "what": [12, 15], "i": 12, "editor": [12, 13], "kernel": [12, 13], "edit": 13, "mode": 13, "command": 13, "keyboard": 13, "navig": 13, "run": 13, "manag": 13, "gener": [14, 15], "optic": [14, 15], "rai": [14, 15], "law": [14, 15], "reflect": [14, 15], "refract": [14, 15], "spheric": [14, 15], "boundari": [14, 15], "geometr": 15, "total": [14, 15], "intern": [14, 15], "guid": 15, "light": 15, "fiber": 15, "step": 15, "index": 15, "meridion": 15, "skew": 15, "numer": 15, "apertur": 15, "matrix": 15, "For": 15, "exampl": 15, "cloak": 15, "fermat": 15, "": 15, "principl": 15, "thin": 15, "len": [14, 15], "formul": 15, "differenti": 15, "form": 15, "compon": 15, "grin": 15, "you": 15, "should": 15, "know": 15, "mirag": 15, "effect": 15, "over": 15, "hot": 15, "street": 15, "bf": 15, "f": 15, "m": 15, "cdot": 15, "correspond": 15, "quantiti": 15, "momentum": 15, "tweezer": 15, "wave": 15, "gaussian": 15, "beam": 15, "propierti": 15, "transmiss": 15, "through": 15, "higher": 15, "order": 15, "cylindr": 15, "coordin": 15, "electromagnet": 15, "dielectr": 15, "media": 15, "linear": 15, "nondispers": 15, "homogen": 15, "isotrop": 15, "inhomogen": 15, "anisotrop": 15, "dispers": 15, "nonlinear": 15, "microscop": 15, "model": 15, "p": 15, "reson": 15, "medium": 15, "absorpt": 15, "kramer": 15, "kronig": 15, "4": 15, "polar": 15, "conjug": 14, "plane": 14, "biconvex": 14, "aberr": 14, "character": 14, "zernik": 14, "polynomi": 14}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 57}, "alltitles": {"Assignments": [[0, "assignments"]], "Exams": [[1, "exams"]], "Instructor": [[2, "instructor"]], "Resources": [[3, "resources"]], "Molecular Nanophotonics Group": [[3, "molecular-nanophotonics-group"]], "Python Documentation": [[3, "python-documentation"]], "Python Tutorials": [[3, "python-tutorials"]], "Course Schedule": [[4, "course-schedule"]], "This Website": [[5, "this-website"]], "Overview": [[7, "overview"]], "Exercise 1": [[8, "exercise-1"]], "Lecture Contents": [[9, "lecture-contents"]], "Entering code": [[10, "Entering-code"]], "Entering Markdown": [[10, "Entering-Markdown"]], "Markdown basics": [[10, "Markdown-basics"]], "Headings": [[10, "Headings"]], "Embedded code": [[10, "Embedded-code"]], "LaTeX equations": [[10, "LaTeX-equations"]], "Images": [[10, "Images"]], "Videos": [[10, "Videos"]], "An empty notebook": [[11, "An-empty-notebook"]], "Introduction to Jupyter": [[12, "Introduction-to-Jupyter"]], "What is Jupyter Notebook?": [[12, "What-is-Jupyter-Notebook?"]], "Notebook editor": [[12, "Notebook-editor"], [13, "Notebook-editor"]], "Kernels": [[12, "Kernels"]], "Notebook documents": [[12, "Notebook-documents"]], "Edit mode": [[13, "Edit-mode"]], "Command mode": [[13, "Command-mode"]], "Keyboard navigation": [[13, "Keyboard-navigation"]], "Running code": [[13, "Running-code"]], "Managing the kernel": [[13, "Managing-the-kernel"]], "Welcome to the Introduction to Photonics 1!": [[6, "welcome-to-the-introduction-to-photonics-1"]], "Lecture 1:": [[6, null]], "Indices and tables": [[6, "indices-and-tables"]], "General Optics": [[14, "General-Optics"]], "Ray Optics": [[14, "Ray-Optics"]], "Law of reflection": [[14, "Law-of-reflection"], [15, "Law-of-reflection"]], "Law of refraction": [[14, "Law-of-refraction"], [15, "Law-of-refraction"]], "Refraction on spherical boundary": [[14, "Refraction-on-spherical-boundary"], [15, "Refraction-on-spherical-boundary"]], "Conjugated Planes": [[14, "Conjugated-Planes"]], "Biconvex Lens": [[14, "Biconvex-Lens"]], "Aberration Characterization and Zernike Polynomials": [[14, "Aberration-Characterization-and-Zernike-Polynomials"]], "Total Internal Reflection": [[14, "Total-Internal-Reflection"]], "1. General Optics": [[15, "1.-General-Optics"]], "Geometrical Optics": [[15, "Geometrical-Optics"]], "Total internal reflection": [[15, "Total-internal-reflection"]], "Guiding light fibers": [[15, "Guiding-light-fibers"]], "Step-index fiber": [[15, "Step-index-fiber"]], "Meridional ray": [[15, "Meridional-ray"]], "Skewed ray": [[15, "Skewed-ray"]], "Numerical aperture": [[15, "Numerical-aperture"]], "Matrix Optics": [[15, "Matrix-Optics"], [15, "id5"]], "For example: Optical cloaking": [[15, "For-example:-Optical-cloaking"]], "Fermat\u2019s Principle": [[15, "Fermat's-Principle"]], "Refraction": [[15, "Refraction"]], "Thin lens": [[15, "Thin-lens"]], "Formulation of Fermat\u2019s principle": [[15, "Formulation-of-Fermat's-principle"]], "Differential form in components": [[15, "Differential-form-in-components"]], "GRIN lens": [[15, "GRIN-lens"]], "What you should know:": [[15, "What-you-should-know:"]], "Mirage effect over a hot street": [[15, "Mirage-effect-over-a-hot-street"]], "{\\bf F = m \\cdot a} optics": [[15, "{\\bf-F-=-m-\\cdot-a}-optics"]], "Corresponding quantities": [[15, "Corresponding-quantities"]], "Ray optics and momentum": [[15, "Ray-optics-and-momentum"]], "Optical Tweezers": [[15, "Optical-Tweezers"]], "Wave Optics": [[15, "Wave-Optics"]], "Gaussian beam": [[15, "Gaussian-beam"]], "Propierties": [[15, "Propierties"]], "Transmission through a lens": [[15, "Transmission-through-a-lens"]], "Higher order Gaussian beams": [[15, "Higher-order-Gaussian-beams"]], "Cylindrical coordinates": [[15, "Cylindrical-coordinates"]], "1.3 Electromagnetic Optics": [[15, "1.3-Electromagnetic-Optics"]], "Dielectric media": [[15, "Dielectric-media"]], "linear media": [[15, "linear-media"]], "nondispersive media": [[15, "nondispersive-media"]], "homogeneous media": [[15, "homogeneous-media"]], "isotropic media": [[15, "isotropic-media"]], "inhomogeneous media": [[15, "inhomogeneous-media"]], "anisotropic media": [[15, "anisotropic-media"]], "dispersive media": [[15, "dispersive-media"]], "nonlinear media": [[15, "nonlinear-media"]], "Linear, nondispersive, homogeneous, isotropic media": [[15, "Linear,-nondispersive,-homogeneous,-isotropic-media"]], "microscopic model of P": [[15, "microscopic-model-of-P"]], "resonant medium": [[15, "resonant-medium"]], "dispersion": [[15, "dispersion"]], "absorption and dispersion": [[15, "absorption-and-dispersion"]], "Kramers\u2013Kronig": [[15, "Kramers\u2013Kronig"]], "1.4 Polarization Optics": [[15, "1.4-Polarization-Optics"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["course-info/assignments", "course-info/exam", "course-info/instructor", "course-info/resources", "course-info/schedule", "course-info/website", "index", "lectures/Intro/overview", "lectures/L1/assignment_1", "lectures/L1/overview_1", "notebooks/Intro/EditCells", "notebooks/Intro/Empty", "notebooks/Intro/Introduction2Jupyter", "notebooks/Intro/NotebookEditor", "notebooks/L1/1_ray_optics", "notebooks/L1/Lecture1", "notebooks/L1/spherical_surface"], "filenames": ["course-info/assignments.rst", "course-info/exam.rst", "course-info/instructor.rst", "course-info/resources.rst", "course-info/schedule.rst", "course-info/website.rst", "index.rst", "lectures/Intro/overview.rst", "lectures/L1/assignment_1.rst", "lectures/L1/overview_1.rst", "notebooks/Intro/EditCells.ipynb", "notebooks/Intro/Empty.ipynb", "notebooks/Intro/Introduction2Jupyter.ipynb", "notebooks/Intro/NotebookEditor.ipynb", "notebooks/L1/1_ray_optics.ipynb", "notebooks/L1/Lecture1.ipynb", "notebooks/L1/spherical_surface.ipynb"], "titles": ["Assignments", "Exams", "Instructor", "Resources", "Course Schedule", "This Website", "Welcome to the Introduction to Photonics 1!", "Overview", "Exercise 1", "Lecture Contents", "Entering code", "An empty notebook", "Introduction to Jupyter", "Notebook editor", "General Optics", "1. General Optics", "<no title>"], "terms": {"thi": [0, 1, 3, 6, 10, 11, 12, 13, 14, 15, 16], "i": [1, 4, 5, 6, 8, 10, 13, 14, 15], "websit": [3, 10], "physic": [3, 5, 6, 7, 14], "schedul": [], "assign": [4, 5], "exam": [], "resourc": 5, "molecular": 15, "nanophoton": [], "group": 1, "python": [5, 9, 10, 12], "document": 10, "tutori": [], "instructor": [], "overview": [], "introduct": [1, 3, 9], "what": [1, 14], "editor": 7, "kernel": [], "edit": [10, 12], "mode": [10, 14, 15], "command": 10, "keyboard": 10, "navig": [], "run": 12, "code": [0, 1, 5, 7, 12, 14], "manag": [], "enter": [7, 13], "markdown": [7, 8, 12, 13], "basic": [1, 9, 12, 13], "head": [], "embed": 12, "latex": [8, 12], "equat": [12, 14, 15], "imag": [12, 14, 15], "video": [0, 4, 5], "content": [5, 10, 12, 13], "exercis": [], "index": [6, 14], "modul": [6, 9, 10, 14, 15], "search": 6, "page": [5, 6, 10, 11, 12, 13, 14, 15, 16], "The": [0, 1, 4, 5, 7, 8, 12, 13, 14, 15], "lectur": [0, 4, 5], "held": 0, "complet": [0, 5, 10, 12], "onlin": [0, 4, 5], "year": 0, "we": [0, 1, 4, 5, 6, 8, 9, 10, 13, 14, 15], "suppli": 0, "also": [0, 1, 4, 5, 10, 12, 14, 15], "problem": [0, 1], "set": [0, 13, 14, 15, 16], "everi": [0, 4, 5], "week": [0, 4, 5], "all": [0, 1, 5, 12, 14, 15], "student": [0, 1], "come": [0, 4, 14, 15], "jupyt": [0, 1, 5, 7, 8, 9, 10, 13], "notebook": [0, 1, 4, 5, 7, 9, 10, 14, 15, 16], "individu": [0, 1, 10, 12], "pleas": [0, 4, 5], "fill": [0, 14], "answer": 0, "your": [0, 1, 5, 10, 12, 13], "ar": [0, 1, 3, 5, 9, 10, 12, 13, 14, 15], "ask": [0, 5], "return": [0, 10, 12, 14], "befor": [0, 15], "tuesdai": [0, 4], "morn": 0, "you": [0, 1, 3, 4, 5, 8, 9, 10, 12, 13, 14], "receiv": 0, "web": [0, 5, 12], "address": [0, 8, 14], "our": [0, 5, 8], "server": [0, 4, 5, 8, 12], "well": [0, 3, 5, 8, 10, 12, 15], "login": [0, 5, 8], "password": [0, 5, 8], "find": [0, 1, 3, 5, 15], "below": [0, 3, 10, 13, 14, 15], "short": [0, 14, 15], "how": [0, 10, 15], "download": [0, 5], "close": [1, 5, 14, 15], "cours": [1, 3, 5, 6, 7, 15], "an": [1, 4, 5, 8, 10, 12, 13, 14, 15], "form": [1, 10, 12, 14], "final": [1, 12, 14], "project": [1, 5, 10, 15], "shall": [1, 15], "topic": [1, 6, 7, 14], "choic": 1, "one": [1, 6, 10, 13, 14, 15], "provid": [1, 8, 10, 12, 13, 14], "exampl": [1, 10, 14], "hand": 1, "each": [1, 5, 12, 14, 15], "requir": [1, 5, 15], "No": 1, "work": [1, 5, 10, 15], "allow": [1, 5, 12, 13, 14], "follow": [1, 5, 10, 13, 14, 15], "outlin": 1, "introduc": [1, 6], "cover": 1, "motiv": 1, "go": [1, 5, 10, 13, 14, 15], "do": [1, 10, 14, 15], "should": [1, 10], "theoret": 1, "descript": [1, 6, 14], "solv": [1, 14, 15], "result": [1, 12, 14], "discuss": [1, 3, 5, 14], "develop": 1, "anot": 1, "step": [1, 14, 16], "It": [1, 5, 6, 8, 12, 14, 15], "import": [1, 10, 13, 14, 15, 16], "highlight": 1, "consequ": [1, 15], "summari": 1, "summar": 1, "notbook": 1, "grade": [1, 15], "accord": [1, 14], "common": [1, 14], "scheme": 1, "email": [2, 12], "lastnam": 2, "physik": 2, "uni": 2, "leipzig": 2, "de": 2, "prof": 2, "dr": 2, "frank": 2, "cicho": [2, 15], "linn\u00e9str": 2, "5": [2, 13, 14, 15, 16], "04103": 2, "offic": 2, "322": 2, "phone": 2, "0341": 2, "97": 2, "32571": 2, "There": [3, 10, 12, 13, 14, 15], "ton": 3, "addit": [3, 12, 15], "structur": 3, "net": [3, 10], "onli": [3, 10, 14, 15], "veri": [3, 14], "small": [3, 14, 15], "select": [3, 10, 13, 14], "comput": [3, 5, 6, 12, 14], "base": [3, 5, 12, 14, 15], "model": [3, 5, 14], "mona": [3, 5], "forum": [3, 5], "matplotlib": [3, 15, 16], "panda": 3, "scienc": [3, 6], "nice": [3, 10], "updat": [4, 5, 14, 15], "weekli": 4, "thu": [4, 12, 13, 15], "expect": 4, "start": [4, 5, 6, 9, 10, 12], "april": 4, "7th": 4, "1": [4, 10, 13, 14, 16], "30": [4, 7], "pm": [4, 15], "new": [4, 5, 10, 13, 15], "As": [4, 8, 14], "materi": [4, 14, 15], "avail": [4, 12, 13], "can": [4, 5, 9, 10, 12, 13, 14, 15], "back": [4, 12], "studi": 4, "whenev": 4, "suitabl": [4, 14], "add": [4, 10, 12, 16], "explain": [4, 5, 10], "detail": [4, 12], "explor": [4, 5, 6, 9, 14, 15], "especi": 4, "mybind": [4, 5, 13], "thei": [4, 10, 14], "help": [4, 10, 12], "finish": [4, 13], "contain": [5, 6, 12, 14, 15], "inform": [5, 14, 15], "yet": [5, 12, 14], "accompani": [5, 12], "mai": [5, 10, 12], "get": [5, 15], "along": [5, 15], "just": [5, 10, 12, 14, 15], "read": [5, 12], "And": [5, 10], "give": [5, 14, 15], "chanc": 5, "interact": [5, 6, 12, 14, 15], "have": [5, 9, 10, 13, 14, 15], "creat": [5, 9, 10, 12, 14, 15, 16], "which": [5, 10, 12, 13, 14, 15], "reach": [5, 14], "ha": [5, 12, 13, 14, 15], "differ": [5, 12, 13, 14, 15], "categori": 5, "hope": 5, "us": [5, 6, 10, 12, 13, 14, 15], "intens": [5, 15], "question": 5, "guid": 5, "from": [5, 6, 10, 11, 12, 13, 14, 15, 16], "here": [5, 10, 12, 14, 15], "sever": [5, 14], "learn": 5, "program": [5, 12, 14, 15], "therebi": 5, "make": [5, 8, 10, 13, 14, 15, 16], "some": [5, 10, 14], "great": [5, 10], "tool": 5, "like": [5, 10, 12, 13, 14, 15], "servic": [5, 12], "host": 5, "http": [5, 10, 14], "org": [5, 12, 14], "binder": 5, "offer": 5, "easi": [5, 10], "place": 5, "share": [5, 12, 15], "environ": [5, 9, 12], "everyon": 5, "when": [5, 10, 12, 13, 14], "notic": 5, "icon": 5, "indic": [5, 13, 14, 15], "webpag": 5, "rather": 5, "than": [5, 10, 15], "look": [5, 13, 14, 15, 16], "click": [5, 10], "open": [5, 9, 13, 15], "patient": 5, "wait": 5, "until": [5, 13], "temporarili": 5, "If": [5, 10, 12, 13, 14, 15], "show": [5, 12, 13, 14, 15, 16], "inact": 5, "long": 5, "connect": [5, 12, 13], "finsih": 5, "keep": 5, "copi": [5, 13], "ahead": 5, "empti": 5, "github": [5, 12], "com": 5, "collabor": 5, "includ": [5, 10, 12, 14], "version": [5, 12, 13], "control": [5, 10, 12, 13, 14, 15], "In": [5, 6, 10, 13], "upper": 5, "right": [5, 10, 13, 14, 15, 16], "corner": [5, 13], "link": [5, 10], "repositori": 5, "anaconda": 5, "packag": 5, "www": 5, "distribut": 5, "privid": 5, "want": [5, 10, 14, 15], "home": 5, "without": [5, 8, 12, 15], "access": [5, 10], "good": [5, 10], "instal": [5, 12], "languag": [9, 10, 12], "kind": [], "scientif": [], "engin": [], "task": [], "analyz": [], "plot": [12, 14, 15, 16], "data": [9, 12], "numer": [], "difficult": [14, 15], "even": 14, "imposs": [], "analyt": [], "freeli": [], "been": 13, "due": 15, "its": [10, 12, 14], "modular": [], "extend": [], "nearli": [], "infinit": [], "number": [14, 15], "purpos": [], "intend": [], "aim": [], "more": [6, 10, 13, 14, 15], "beginn": [], "advanc": [6, 13, 14], "user": [12, 13], "interest": [14, 15], "throughout": [], "function": [10, 14, 15], "curv": [14, 15], "fit": [], "write": [10, 12, 15], "file": 12, "encount": [], "dure": [], "anim": [], "insid": [], "simul": 10, "process": [12, 13], "mechan": [14, 15], "electrostat": [], "wave": [6, 7, 14], "quantum": 15, "optic": 6, "At": [], "end": [10, 14, 15], "machin": [], "now": [10, 14, 15], "becom": 10, "present": [], "comprehens": [], "list": [8, 10], "stimul": [], "curios": [], "slight": [], "syntax": [], "alwai": [14, 15], "refer": [], "3": [10, 14, 16], "standard": [], "experiment": 7, "iii": 7, "deal": 7, "two": [7, 10, 13, 14, 15], "major": 7, "electromagnet": [6, 7, 14], "particl": [7, 15], "environn": 7, "00": [7, 9], "05": 7, "09": [7, 9], "43": 7, "16": 7, "15": [7, 9, 15], "first": [8, 10, 14, 15], "jupyterhub": 8, "ip": 8, "yourself": 8, "familiar": 8, "interfac": [8, 12, 13, 14, 15], "correspond": [8, 14], "classic": [8, 15], "ani": [8, 12, 13, 14], "tab": [8, 10, 12], "string": 8, "dictionari": 8, "after": [9, 15], "hopefulli": 9, "abl": [9, 13], "variabl": [9, 15], "type": [9, 10, 12, 13, 14], "01": [9, 15], "23": 9, "oper": [9, 13], "comparison": 9, "42": 9, "22": [9, 15], "namespac": [9, 10], "45": [9, 15], "03": [9, 15], "wa": [10, 11, 12, 13, 14, 15, 16], "gener": [6, 10, 11, 12, 13, 16], "intro": [10, 11, 12, 13], "editcel": 10, "ipynb": [10, 11, 12, 13, 14, 15, 16], "pretti": 10, "cell": [10, 12, 13], "multipl": 10, "line": [10, 15], "press": [10, 13], "block": 10, "identifi": [10, 14], "belong": [10, 14, 15], "togeth": [10, 14], "ident": 10, "longer": 10, "later": [10, 14], "To": 10, "indent": 10, "either": 10, "whitespac": 10, "comment": 10, "ad": 10, "annot": 10, "someon": 10, "els": [10, 14, 15], "understand": [10, 12], "singl": [6, 10, 14, 15], "charact": 10, "front": 10, "over": [10, 12, 14], "same": [10, 15], "docstr": 10, "text": [10, 12, 13, 14, 15], "2": [10, 14, 15, 16], "typic": [10, 15], "def": [10, 14, 15], "x": [10, 13, 14, 15], "calcul": [10, 15], "argument": 10, "float": 10, "integ": [10, 14], "valu": [10, 14], "y": [10, 13, 14, 15], "time": [10, 14, 15], "don": [10, 12], "t": [10, 12, 13, 14, 15], "forget": 10, "__main__": 10, "extrem": 10, "wai": [10, 12, 14, 15], "everyth": 10, "realli": [10, 14], "chang": [10, 13, 14, 15], "action": 10, "menu": [10, 13], "hardwar": [10, 13], "shortcut": [10, 13], "m": [10, 13, 14], "popular": 10, "markup": [10, 12], "superset": 10, "html": [10, 12, 14], "Its": 10, "specif": [10, 12, 14], "found": 10, "daringfirebal": 10, "render": [10, 12, 13], "unrend": 10, "see": [10, 13, 14], "format": [10, 12, 15], "represent": [10, 12], "": [10, 12, 13, 14], "raw": [10, 12, 13], "sourc": [10, 14, 15], "button": [10, 13], "shift": [10, 13, 15], "doubl": 10, "appear": 10, "put": 10, "ital": 10, "bold": 10, "build": 10, "nest": 10, "item": 10, "enumer": 10, "subitem": 10, "subsubitem": 10, "second": [10, 14, 15], "third": [10, 15], "anoth": [10, 13, 14], "sublist": 10, "blockquot": 10, "beauti": 10, "better": 10, "ugli": 10, "explicit": 10, "implicit": 10, "simpl": [6, 10, 12, 15], "complex": [6, 10, 14, 15], "complic": 10, "flat": 10, "spars": 10, "dens": 10, "readabl": 10, "count": 10, "special": [10, 14, 15], "case": [10, 14, 15], "aren": 10, "enough": 10, "break": [10, 14], "rule": 10, "although": 10, "practic": 10, "beat": [10, 15], "puriti": 10, "error": [10, 15], "never": 10, "pass": [10, 14], "silent": 10, "unless": 10, "explicitli": 10, "silenc": 10, "face": 10, "ambigu": 10, "refus": 10, "temptat": 10, "guess": 10, "prefer": 10, "obviou": 10, "re": [10, 15], "dutch": 10, "often": [10, 15], "implement": 10, "hard": 10, "bad": 10, "idea": 10, "honk": 10, "let": [10, 15], "those": 10, "shorthand": 10, "space": [10, 15], "emb": 10, "meant": [10, 12], "illustr": 10, "instead": 10, "execut": [10, 12, 13], "f": [10, 14], "other": [10, 12, 14, 15], "0": [10, 13, 14, 15, 16], "n": [10, 14, 15], "printf": 10, "hello": 10, "d": [10, 13, 14, 15], "4": [10, 14, 16], "courtesi": 10, "mathjax": 10, "mathemat": [10, 14, 15], "express": [10, 14, 15], "both": [10, 15], "inlin": 10, "e": [10, 13, 14, 15], "pi": [10, 14, 15], "displai": [10, 12, 14], "sum_": [10, 14, 15], "infti": [10, 15], "frac": [10, 14, 15], "surround": 10, "own": [10, 12], "directli": 10, "integr": [10, 14, 15], "altern": 10, "url": [10, 12], "src": [10, 14], "mov": 10, "movi": 10, "mp4": 10, "width": [10, 14, 15], "320": 10, "height": [10, 14], "200": [10, 14], "preload": 10, "store": 10, "local": [10, 15], "youtub": 10, "ipython": [10, 14], "9": [10, 14, 15], "youtubevideo": 10, "qllx32jugzi": 10, "600": [10, 15], "introduction2jupyt": 12, "A": [12, 13, 15], "browser": 12, "enabl": 12, "These": [12, 14], "self": 12, "record": 12, "convert": 12, "variou": 12, "system": [12, 14, 15], "git": 12, "nbviewer": 12, "combin": 12, "three": [12, 15], "compon": [12, 14], "applic": [6, 12, 14], "desktop": 12, "separ": [12, 13, 15], "given": [12, 14, 15], "output": 12, "handl": 12, "thing": 12, "widget": [12, 14, 15], "introspect": 12, "visibl": 12, "input": 12, "rich": 12, "media": [6, 12], "object": [12, 14, 15], "brows": 12, "individual": 12, "arbitrari": 12, "oder": [12, 14, 15], "png": 12, "svg": [12, 14], "pdf": 12, "javascript": [12, 14], "bind": 12, "visual": [12, 14], "reactiv": 12, "side": [12, 15], "bound": 12, "almost": 12, "dedic": [12, 13], "100": [12, 13, 14], "julia": 12, "r": [12, 13, 14, 15], "rubi": 12, "haskel": 12, "scala": 12, "mani": [6, 12, 13, 14, 15], "default": 12, "pick": 12, "commun": 12, "json": 12, "zeromq": 12, "websocket": 12, "messag": 12, "protocol": 12, "describ": [12, 14, 15], "most": [12, 13, 15], "need": [12, 14, 15], "know": [12, 14], "about": 12, "session": 12, "filesystem": 12, "extens": 12, "easili": 12, "consist": 12, "linear": [6, 12, 14], "sequenc": 12, "live": 12, "narr": 12, "unformat": 12, "modif": 12, "nbconvert": 12, "intern": 12, "binari": 12, "encod": 12, "base64": 12, "them": [12, 14], "manipul": [6, 12, 13], "programmat": 12, "export": 12, "static": 12, "restructeredtext": 12, "slide": 12, "reveal": 12, "j": [12, 13, 14, 15], "util": 12, "furthermor": 12, "public": 12, "via": 12, "load": 12, "notebookeditor": 13, "essenti": 13, "where": [13, 14], "jupyterlab": 13, "blue": [13, 14, 15], "border": 13, "prompt": 13, "area": 13, "normal": [13, 14, 15], "grei": 13, "io": 13, "devic": 13, "modal": 13, "optim": 13, "effici": 13, "usag": 13, "made": [13, 15], "possibl": [13, 15], "activ": 13, "rel": [13, 15], "few": 13, "entir": 13, "so": [13, 15], "ones": 13, "switch": 13, "mod": 13, "esc": 13, "k": [13, 14, 15], "current": [13, 15], "save": 13, "insert": [13, 14, 15], "abov": [13, 14, 15], "b": [13, 15], "pasteboard": 13, "cut": 13, "c": [13, 14, 15], "v": [13, 15], "past": 13, "delet": 13, "z": [13, 14, 15], "undo": 13, "interrupt": 13, "restart": 13, "bottom": 13, "panel": 13, "10": [13, 14, 15], "print": 13, "coupl": [13, 15], "move": 13, "option": [13, 16], "call": [13, 14, 15], "top": [13, 14], "report": 13, "state": [13, 14, 15], "mean": [13, 14, 15], "readi": 13, "busi": 13, "tap": 13, "reconnect": 13, "try": [13, 15], "won": 13, "l1": [14, 15, 16], "1_ray_opt": 14, "ipywidget": [14, 15], "pyplot": [15, 16], "plt": [14, 15, 16], "numpi": 15, "np": [14, 15], "deliv": 14, "simplest": [14, 15], "light": [6, 14], "propag": [6, 14, 15], "despit": 14, "simplif": 14, "power": [6, 14, 15], "howev": 14, "doe": 14, "insight": 14, "govern": 14, "geometr": 14, "therefor": [14, 15], "assumpt": [14, 15], "travel": [14, 15], "emit": [14, 15], "detect": [14, 15], "detector": [14, 15], "effect": 14, "medium": 14, "c_": [14, 15], "take": [14, 15], "distanc": [14, 15], "nd": [14, 15], "amount": [14, 15], "path": [14, 15], "length": [14, 15], "satisfi": [14, 15], "neither": 14, "speed": [14, 15], "nor": 14, "someth": 14, "consid": 14, "infer": 14, "observ": 14, "figur": [14, 15, 16], "angl": [14, 15, 16], "incid": [14, 15], "equal": [14, 15, 16], "begin": [14, 15], "theta_": [14, 15], "n_": [14, 15], "sin": [14, 15], "known": [14, 15], "snell": [14, 15], "relat": [14, 15], "theta_1": [14, 15], "theta_2": [14, 15], "With": [14, 15], "situat": [14, 15], "occur": [14, 15], "total": [], "fig": [14, 15, 16], "ax": [14, 15, 16], "subplot": [14, 15, 16], "figsiz": [14, 15], "canva": [14, 15], "header_vis": [14, 15], "fals": [14, 15], "n1": [14, 15], "n2": [14, 15], "90": [14, 15, 16], "remov": [14, 15], "old": 15, "cla": 15, "theta1": [14, 15, 16], "180": [15, 16], "theta2": [15, 16], "arcsin": [14, 15], "set_titl": [14, 15], "axvlin": [14, 15], "l": 15, "04": 15, "n_2": [14, 15], "n_1": [14, 15], "round": 15, "axhlin": 15, "color": [14, 15], "lw": 15, "quiver": 15, "co": [14, 15], "scale": 15, "pivot": 15, "tip": 15, "red": 15, "lens": [14, 15], "surfac": [14, 15], "depend": [14, 15], "posit": [14, 15], "2d": [14, 15], "circular": [14, 15], "diagram": [14, 15], "definit": [14, 15], "alpha": [14, 15], "delta": [14, 15], "tan": [14, 15], "z_2": [14, 15], "z_1": [14, 15], "gamma": 15, "approx": [14, 15], "replac": 15, "n_2r": [14, 15], "conjug": 15, "plane": 15, "quad": [14, 15], "rightarrow": [14, 15], "yz_2": [14, 15], "left": [14, 15], "z_2y": [14, 15], "independ": 15, "up": [14, 15], "point": [14, 15], "foundat": [6, 14, 15], "biconvex": 15, "len": [], "appli": [14, 15], "formula": 15, "twice": 15, "theta_t": [14, 15], "nr_1": [14, 15], "r_2": [14, 15], "r_1": [14, 15], "maker": [14, 15], "tell": [14, 15], "radii": [14, 15], "flip": [14, 15], "sign": [14, 15], "sinc": [14, 15], "direct": [14, 15], "y_2": [14, 15], "y_1": [14, 15], "magnif": [14, 15], "limit": [14, 15], "paraxi": [14, 15], "approxim": [14, 15], "6": [14, 15], "120": [14, 15], "dot": [14, 15], "ll": [14, 15], "rm": [14, 15], "radian": [14, 15], "true": [14, 15], "microscopi": [6, 14, 15], "80": [14, 15], "still": [14, 15], "lecture1": 15, "2020": 15, "violat": 15, "primari": 15, "abber": 15, "classif": 15, "seidel": 15, "1821": 15, "1896": 15, "coma": [14, 15], "astigmat": [14, 15], "field": [6, 15], "curvatur": [14, 15], "distort": 15, "2z_1": 15, "chromat": 15, "measur": 15, "correct": 15, "shape": [14, 15], "nowadai": 15, "adapt": [6, 15], "spatial": 15, "max": [14, 15], "larger": [14, 15], "solut": 15, "theta_c": [14, 15], "glass": [14, 15], "41": [14, 15], "8": [14, 15], "water": 15, "48": 15, "7": 15, "diamond": 15, "24": 15, "h": 15, "_2": 15, "o": 15, "33": 15, "loss": 15, "central": 15, "core": 15, "clad": 15, "lower": [14, 15], "low": 15, "multimod": 15, "gradient": 15, "mostli": 15, "silica": 15, "sio": 15, "44": 15, "46": 15, "001": 15, "02": 15, "overlin": 15, "phi": [14, 15], "theta": 15, "theta_a": 15, "sqrt": [14, 15], "na": 15, "qquad": 15, "ay_1": 15, "cy_1": 15, "arrai": [14, 15], "rr": 15, "transfer": 15, "bmatrix": 15, "convex": 15, "concav": 15, "whole": 15, "precalcul": 15, "matric": 15, "element": 15, "m_nm_": 15, "m_1": 15, "rememb": 15, "free": 15, "perfect": 15, "cloack": 15, "appar": 15, "immit": 15, "condit": 15, "afoc": 15, "except": 15, "nbsphinx": 15, "math": [14, 15], "f_2": 15, "f_1": 15, "f_1f_2": 15, "f_3": 15, "t_2": 15, "t_1": 15, "four": 15, "t_1t_2": 15, "t_4": 15, "f_4": 15, "t_3": 15, "2t_1": 15, "2f_2": 15, "vec": 15, "op": 15, "int_a": 15, "mathrm": 15, "taken": 15, "proporton": 15, "extremum": 15, "neighbor": 15, "minimum": 15, "maximum": 15, "inflect": 15, "usual": 15, "pmatrix": 15, "y_0": 15, "opl": 15, "split": 15, "l_1": 15, "l_2": 15, "beta": 15, "equiv": 15, "2r_2": 15, "2f": [14, 15], "must": 15, "converg": 15, "global": 15, "nabla": 15, "trajectori": 15, "variat": [14, 15], "calculu": 15, "dx": 15, "partial": 15, "dy": 15, "dz": 15, "hspace": 15, "9cm": 15, "parametr": 15, "const": 15, "straight": 15, "selfoc": 15, "n_0": 15, "2y": 15, "parabol": 15, "profil": 15, "theta_0": 15, "squar": 15, "potenti": 15, "magnifi": 15, "simplifi": 15, "behind": 15, "virtual": 15, "real": 15, "construct": 15, "2x": 15, "da": 15, "aa": 15, "cosh": 15, "sinh": 15, "x_": 15, "y_": 15, "check": [14, 15], "veloc": 15, "horizont": 15, "n_h": 15, "newton": 15, "dt": 15, "u": 15, "coulomb": 15, "q": 15, "epsilon_0": 15, "r_": 15, "rf": 15, "chi": 15, "photon": 15, "prf": 15, "zeta": 15, "hbar": 15, "lambda": 15, "_k": 15, "wavelength": 15, "character": 15, "c_0": 15, "2u": 15, "superposit": 15, "u_1": 15, "u_2": 15, "a_1u_1": 15, "a_2u_2": 15, "langl": 15, "rangl": 15, "averag": 15, "cycl": 15, "nm": 15, "omega": 15, "amplitud": 15, "frequenc": [14, 15], "nu": 15, "phase": 15, "helmholtz": 15, "arg": 15, "wavefront": [14, 15], "ikr": 15, "outward": 15, "inward": 15, "_0": 15, "origin": [14, 15], "fresnel": 15, "axi": [14, 15], "taylor": 15, "align": 15, "2z": 15, "ikz": 15, "ik": 15, "kz": 15, "4z": 15, "n_f": 15, "2_m": 15, "theta_m": 15, "wavevector": 15, "nk_0": 15, "stai": 15, "lambda_0": 15, "_1": 15, "k_": 15, "1x": 15, "k_1": 15, "k_2": 15, "1z": 15, "_3": 15, "n_1k_0": 15, "k_3": 15, "n_2k_0": 15, "3x": 15, "tangenti": 15, "conserv": 15, "repres": [14, 15], "ik_0": 15, "label": [14, 15], "magnitud": 15, "k_0": 15, "ref": 15, "2a": 15, "imaginari": 15, "part": 15, "zero": 15, "indenpend": 15, "vari": 15, "slowli": 15, "eikon": 15, "proport": 15, "transmitt": 15, "ikd": 15, "thick": 15, "air": [14, 15], "d_0": 15, "h_0": 15, "ik_0d_0": 15, "valid": 15, "big": 15, "2r": 15, "ink_0d_0": 15, "constant": 15, "transform": [14, 15], "paraboloid": 15, "center": [15, 16], "diffract": 15, "grate": 15, "transmit": 15, "sampl": 15, "mu": 15, "camera": 15, "_": 15, "cam": 15, "int": 15, "i2": 15, "prime": 15, "contrast": 15, "dpc": 15, "i_t": 15, "i_b": 15, "superpos": 15, "i_1": 15, "i_2": 15, "u_1u_2": 15, "phi_1": 15, "phi_2": 15, "i_1i_2": 15, "i_0": 15, "i_": 15, "min": [14, 15], "translat": 15, "2i_0": 15, "exist": 15, "monochromat": 15, "u_m": 15, "i_3": 15, "between": 15, "seri": [6, 15], "im": 15, "peak": 15, "bar": 15, "mi_0": 15, "hu_1": 15, "u_3": 15, "2u_1": 15, "4r": 15, "ge": 15, "tild": 15, "finess": 15, "mathcal": 15, "simeq": 15, "2nd": 15, "spectral": 15, "rang": [14, 15], "interfer": 15, "laser": 15, "caviti": 15, "fabri": 15, "perot": 15, "interferomet": 15, "digit": 15, "holographi": 15, "track": 15, "domain": 15, "nu_1": 15, "nu_2": 15, "odd": 15, "2l": 15, "nu_q": 15, "nu_0": 15, "nu_f": 15, "interval": 15, "sum": [14, 15], "phasor": 15, "again": 15, "nu_ft": 15, "t_f": 15, "puls": 15, "ghz": 15, "1000": [14, 15], "lock": 15, "tau": 15, "comb": 15, "far": 15, "u_0": 15, "envelop": 15, "nabla_t": 15, "i2k": 15, "helmholz": 15, "2_t": 15, "a_1": 15, "rho": [14, 15], "xi": 15, "iz_0": 15, "z_0": 15, "rayleigh": 15, "w": 15, "radiu": [14, 15, 16], "a_0": 15, "w_0": 15, "paramet": 15, "perp": 15, "gg": 15, "invers": 15, "int_0": 15, "within": 15, "certain": [14, 15], "rho_0": 15, "86": 15, "99": 15, "waist": 15, "spot": 15, "size": 15, "theta_0z": 15, "increas": 15, "linearli": 15, "larg": 15, "diverg": 15, "simlarli": 15, "slit": 15, "heisenberg": 15, "depth": 15, "focu": 15, "2z_0": 15, "additon": 15, "retard": 15, "guoi": 15, "v_p": 15, "arctan": 15, "2_0": 15, "mw_0": 15, "locat": [14, 15], "m_r": 15, "q_2": 15, "aq_1": 15, "cq_1": 15, "abcd": 15, "q_1": 15, "focus": 15, "2_2": 15, "w_2": 15, "focal": 15, "non": [6, 14, 15], "g": 15, "u_": 15, "h_m": 15, "h_n": 15, "hermit": 15, "polynomi": 15, "h_1": 15, "20": 15, "h_2": 15, "wavefunct": 15, "mirror": 15, "l_p": 15, "il": 15, "2p": 15, "laguerr": 15, "radial": [14, 15], "azimuth": [14, 15], "neg": [14, 15], "helic": 15, "topolog": 15, "charg": 15, "gauss": 15, "electr": 15, "magnet": 15, "vector": 15, "maxwel": 15, "varepsilon_0": 15, "mu_0": 15, "36": 15, "permitt": 15, "permeabl": 15, "varepsilon": 15, "alreadi": [14, 15], "_0e": 15, "transvers": 15, "energi": 15, "densiti": 15, "u_b": 15, "flow": [6, 15], "poynt": 15, "rangle_t": 15, "e_0": 15, "eta_0": 15, "mu_0c_0": 15, "377": 15, "imped": 15, "vacuum": 15, "radiat": 15, "pressur": 15, "electron": 15, "cloud": 15, "displac": 15, "against": 15, "nucleu": 15, "dipol": 15, "elementari": 15, "11": 15, "75": 15, "13": 15, "mm": 15, "atom": 15, "glanc": 15, "per": 15, "unit": [14, 15], "volum": 15, "hat": 15, "g_b": 15, "oint_": 15, "q_b": 15, "int_v": 15, "dv": 15, "rho_b": 15, "nq": 15, "flux": 15, "assum": [14, 15], "rest": 15, "orient": 15, "ionic": 15, "degener": 15, "propto": 15, "histori": 15, "p_i": 15, "sum_j": 15, "chi_": 15, "ij": 15, "e_j": 15, "d_i": 15, "varepsilon_": 15, "int_": 15, "a_2": 15, "a_3": 15, "e_": 15, "e_a": 15, "delai": 15, "nfrac": 15, "sim": 15, "plate": 15, "suscept": 15, "scalar": 15, "varepsilon_r": 15, "damp": 15, "harmon": 15, "oscil": 15, "ddot": 15, "sigma": 15, "omega_0": 15, "x_0": 15, "respons": 15, "eta": 15, "q_e": 15, "nq_e": 15, "polariz": 15, "chi_0": 15, "treatment": 15, "ne": 15, "f_j": 15, "omega_j": 15, "sigma_j": 15, "strength": 15, "f_": 15, "12": [14, 15], "m_l": 15, "hbar\u00b2": 15, "e_2": 15, "e_1": 15, "lorentz": 15, "kappa": 15, "2i": 15, "2k_0": 15, "coeffici": 15, "weakli": 15, "absorb": 15, "dn": 15, "intim": 15, "stem": 15, "polarizazit": 15, "a_x": 15, "_x": 15, "a_i": 15, "_y": 15, "phi_x": 15, "phi_i": 15, "e_x": 15, "e_i": 15, "e_xe_i": 15, "a_xa_i": 15, "half": 15, "2a_xa_i": 15, "circ": 15, "ellipt": 15, "neq": 15, "formal": 15, "j_1": 15, "j_2": 15, "a_": 15, "1y": 15, "determin": 15, "under": [14, 15], "rai": 6, "facet": 6, "research": 6, "involv": [6, 14], "propgat": 6, "fundament": 6, "matter": 6, "disord": 6, "quanta": 6, "superresolut": 6, "fastest": 6, "grow": 6, "fourier": 6, "anisotrop": 6, "lai": 6, "patch": 16, "defin": [14, 16], "arc": 16, "degre": [14, 16], "add_patch": 16, "aspect": 16, "set_aspect": 16, "set_xlim": 16, "set_ylim": 16, "draw": 14, "further": 14, "hit": 14, "nonlinear": 14, "angular": 14, "obtain": 14, "expand": 14, "bracket": 14, "lead": 14, "note": 14, "seen": 14, "latter": 14, "actual": 14, "level": 14, "deriv": 14, "orthonorm": 14, "wide": 14, "did": 14, "disk": 14, "particularli": 14, "becaus": 14, "orthogon": 14, "inner": 14, "product": 14, "circl": 14, "decompos": 14, "polar": 14, "coordin": 14, "z_n": 14, "r_n": 14, "geq": 14, "leq": 14, "2k": 14, "method": 14, "being": 14, "noll": 14, "pair": 14, "order": 14, "ophthalmologi": 14, "human": 14, "ey": 14, "decomposit": 14, "simpler": 14, "defocu": 14, "etc": 14, "radial_polynomi": 14, "zeros_lik": 14, "ab": 14, "factori": 14, "zernike_polynomi": 14, "linspac": 14, "400": 14, "xx": 14, "yy": 14, "meshgrid": 14, "arctan2": 14, "mask": 14, "nan": 14, "flatten": 14, "imshow": 14, "extent": 14, "off": 14, "tight_layout": 14, "spherical_surfac": 16, "outgo": 14, "characterist": 14, "onto": 14, "revers": 14, "anymor": 14, "out": 14, "phenomenon": 14, "fantast": 14, "54": 14, "snell_law": 14, "theta1_degre": 14, "theta1_radian": 14, "sin_theta2": 14, "theta2_radian": 14, "n1_glass": 14, "n2_air": 14, "theta2_glass_to_air": 14, "dpi": 14, "150": 14, "linestyl": 14, "critic": 14, "\u03b8c": 14, "xlabel": 14, "\u03b8_1": 14, "ylabel": 14, "\u03b8_2": 14, "xlim": 14, "ylim": 14, "grid": 14, "61": 14, "62": [], "html_code": 14, "id": 14, "mycanva": [], "style": 14, "1px": [], "solid": [], "000000": [], "support": [], "html5": [], "tag": [], "script": 14, "var": 14, "getelementbyid": [], "ctx": [], "getcontext": [], "rectangl": [], "fillstyl": [], "0000ff": [], "fillrect": [], "63": [], "mybutton": [], "me": [], "handlebuttonclick": [], "alert": [], "addeventlisten": [], "64": [], "createel": [], "cdnj": [], "cloudflar": [], "ajax": [], "lib": [], "d3": 14, "appendchild": [], "consol": [], "log": [], "window": [], "65": [], "svg_script": [], "append": 14, "attr": 14, "300": [], "stroke": [], "grai": [], "cyan": [], "130": [], "cx": 14, "cy": 14, "transit": [], "durat": [], "10000": [], "69": [], "load_d3_in_cell_output": 14, "d3j": 14, "v6": 14, "get_ipython": 14, "event": 14, "regist": 14, "pre_run_cel": 14, "70": [], "div": 14, "ensur": [], "50": 14, "89": [], "92": [], "290": [], "eas": [], "easelinear": [], "102": 14, "103": 14, "floatslid": 14, "update_circle_radiu": 14, "slider": 14, "continuous_upd": 14, "callback": 14, "initi": 14}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"welcom": 6, "experiment": [], "physik": [], "3": 15, "cours": 4, "inform": [], "jupyt": 12, "notebook": [11, 12, 13], "lectur": [6, 9], "1": [6, 8, 15], "indic": 6, "tabl": 6, "assign": 0, "exam": 1, "instructor": 2, "resourc": 3, "molecular": 3, "nanophoton": 3, "group": 3, "python": 3, "document": [3, 12], "tutori": 3, "schedul": 4, "thi": 5, "websit": 5, "introduct": [6, 12], "photon": 6, "overview": 7, "exercis": 8, "content": 9, "enter": 10, "code": [10, 13], "markdown": 10, "basic": 10, "head": 10, "embed": 10, "latex": 10, "equat": 10, "imag": 10, "video": 10, "an": 11, "empti": 11, "what": [12, 15], "i": 12, "editor": [12, 13], "kernel": [12, 13], "edit": 13, "mode": 13, "command": 13, "keyboard": 13, "navig": 13, "run": 13, "manag": 13, "gener": [14, 15], "optic": [14, 15], "rai": [14, 15], "law": [14, 15], "reflect": [14, 15], "refract": [14, 15], "spheric": [14, 15], "boundari": [14, 15], "geometr": 15, "total": [14, 15], "intern": [14, 15], "guid": 15, "light": 15, "fiber": 15, "step": 15, "index": 15, "meridion": 15, "skew": 15, "numer": 15, "apertur": 15, "matrix": 15, "For": 15, "exampl": 15, "cloak": 15, "fermat": 15, "": 15, "principl": 15, "thin": 15, "len": [14, 15], "formul": 15, "differenti": 15, "form": 15, "compon": 15, "grin": 15, "you": 15, "should": 15, "know": 15, "mirag": 15, "effect": 15, "over": 15, "hot": 15, "street": 15, "bf": 15, "f": 15, "m": 15, "cdot": 15, "correspond": 15, "quantiti": 15, "momentum": 15, "tweezer": 15, "wave": 15, "gaussian": 15, "beam": 15, "propierti": 15, "transmiss": 15, "through": 15, "higher": 15, "order": 15, "cylindr": 15, "coordin": 15, "electromagnet": 15, "dielectr": 15, "media": 15, "linear": 15, "nondispers": 15, "homogen": 15, "isotrop": 15, "inhomogen": 15, "anisotrop": 15, "dispers": 15, "nonlinear": 15, "microscop": 15, "model": 15, "p": 15, "reson": 15, "medium": 15, "absorpt": 15, "kramer": 15, "kronig": 15, "4": 15, "polar": 15, "conjug": 14, "plane": 14, "biconvex": 14, "aberr": 14, "character": 14, "zernik": 14, "polynomi": 14}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 57}, "alltitles": {"Assignments": [[0, "assignments"]], "Exams": [[1, "exams"]], "Instructor": [[2, "instructor"]], "Resources": [[3, "resources"]], "Molecular Nanophotonics Group": [[3, "molecular-nanophotonics-group"]], "Python Documentation": [[3, "python-documentation"]], "Python Tutorials": [[3, "python-tutorials"]], "Course Schedule": [[4, "course-schedule"]], "This Website": [[5, "this-website"]], "Overview": [[7, "overview"]], "Exercise 1": [[8, "exercise-1"]], "Lecture Contents": [[9, "lecture-contents"]], "Entering code": [[10, "Entering-code"]], "Entering Markdown": [[10, "Entering-Markdown"]], "Markdown basics": [[10, "Markdown-basics"]], "Headings": [[10, "Headings"]], "Embedded code": [[10, "Embedded-code"]], "LaTeX equations": [[10, "LaTeX-equations"]], "Images": [[10, "Images"]], "Videos": [[10, "Videos"]], "An empty notebook": [[11, "An-empty-notebook"]], "Introduction to Jupyter": [[12, "Introduction-to-Jupyter"]], "What is Jupyter Notebook?": [[12, "What-is-Jupyter-Notebook?"]], "Notebook editor": [[12, "Notebook-editor"], [13, "Notebook-editor"]], "Kernels": [[12, "Kernels"]], "Notebook documents": [[12, "Notebook-documents"]], "Edit mode": [[13, "Edit-mode"]], "Command mode": [[13, "Command-mode"]], "Keyboard navigation": [[13, "Keyboard-navigation"]], "Running code": [[13, "Running-code"]], "Managing the kernel": [[13, "Managing-the-kernel"]], "Welcome to the Introduction to Photonics 1!": [[6, "welcome-to-the-introduction-to-photonics-1"]], "Lecture 1:": [[6, null]], "Indices and tables": [[6, "indices-and-tables"]], "General Optics": [[14, "General-Optics"]], "Ray Optics": [[14, "Ray-Optics"]], "Law of reflection": [[14, "Law-of-reflection"], [15, "Law-of-reflection"]], "Law of refraction": [[14, "Law-of-refraction"], [15, "Law-of-refraction"]], "Refraction on spherical boundary": [[14, "Refraction-on-spherical-boundary"], [15, "Refraction-on-spherical-boundary"]], "Conjugated Planes": [[14, "Conjugated-Planes"]], "Biconvex Lens": [[14, "Biconvex-Lens"]], "Aberration Characterization and Zernike Polynomials": [[14, "Aberration-Characterization-and-Zernike-Polynomials"]], "Total Internal Reflection": [[14, "Total-Internal-Reflection"]], "1. General Optics": [[15, "1.-General-Optics"]], "Geometrical Optics": [[15, "Geometrical-Optics"]], "Total internal reflection": [[15, "Total-internal-reflection"]], "Guiding light fibers": [[15, "Guiding-light-fibers"]], "Step-index fiber": [[15, "Step-index-fiber"]], "Meridional ray": [[15, "Meridional-ray"]], "Skewed ray": [[15, "Skewed-ray"]], "Numerical aperture": [[15, "Numerical-aperture"]], "Matrix Optics": [[15, "Matrix-Optics"], [15, "id5"]], "For example: Optical cloaking": [[15, "For-example:-Optical-cloaking"]], "Fermat\u2019s Principle": [[15, "Fermat's-Principle"]], "Refraction": [[15, "Refraction"]], "Thin lens": [[15, "Thin-lens"]], "Formulation of Fermat\u2019s principle": [[15, "Formulation-of-Fermat's-principle"]], "Differential form in components": [[15, "Differential-form-in-components"]], "GRIN lens": [[15, "GRIN-lens"]], "What you should know:": [[15, "What-you-should-know:"]], "Mirage effect over a hot street": [[15, "Mirage-effect-over-a-hot-street"]], "{\\bf F = m \\cdot a} optics": [[15, "{\\bf-F-=-m-\\cdot-a}-optics"]], "Corresponding quantities": [[15, "Corresponding-quantities"]], "Ray optics and momentum": [[15, "Ray-optics-and-momentum"]], "Optical Tweezers": [[15, "Optical-Tweezers"]], "Wave Optics": [[15, "Wave-Optics"]], "Gaussian beam": [[15, "Gaussian-beam"]], "Propierties": [[15, "Propierties"]], "Transmission through a lens": [[15, "Transmission-through-a-lens"]], "Higher order Gaussian beams": [[15, "Higher-order-Gaussian-beams"]], "Cylindrical coordinates": [[15, "Cylindrical-coordinates"]], "1.3 Electromagnetic Optics": [[15, "1.3-Electromagnetic-Optics"]], "Dielectric media": [[15, "Dielectric-media"]], "linear media": [[15, "linear-media"]], "nondispersive media": [[15, "nondispersive-media"]], "homogeneous media": [[15, "homogeneous-media"]], "isotropic media": [[15, "isotropic-media"]], "inhomogeneous media": [[15, "inhomogeneous-media"]], "anisotropic media": [[15, "anisotropic-media"]], "dispersive media": [[15, "dispersive-media"]], "nonlinear media": [[15, "nonlinear-media"]], "Linear, nondispersive, homogeneous, isotropic media": [[15, "Linear,-nondispersive,-homogeneous,-isotropic-media"]], "microscopic model of P": [[15, "microscopic-model-of-P"]], "resonant medium": [[15, "resonant-medium"]], "dispersion": [[15, "dispersion"]], "absorption and dispersion": [[15, "absorption-and-dispersion"]], "Kramers\u2013Kronig": [[15, "Kramers\u2013Kronig"]], "1.4 Polarization Optics": [[15, "1.4-Polarization-Optics"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/docs/_sources/notebooks/L1/1_ray_optics.ipynb.txt b/docs/_sources/notebooks/L1/1_ray_optics.ipynb.txt index ec85e02..c2e94fa 100644 --- a/docs/_sources/notebooks/L1/1_ray_optics.ipynb.txt +++ b/docs/_sources/notebooks/L1/1_ray_optics.ipynb.txt @@ -130,12 +130,48 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 102, "id": "fbf42d2d-ba72-4d79-b251-bf343a9c054c", "metadata": { "tags": [] }, "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "text/html": [ @@ -184,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 103, "id": "a7043a8d-8a5a-4b0a-9ec3-3c61e77665b1", "metadata": { "tags": [] @@ -241,33 +277,70 @@ { "data": { "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81c9708e657a43299356d6d746905d25", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(FloatSlider(value=50.0, continuous_update=False, description='Radius:', min=10.0, step=1…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", "
\n", + "\n", "\n" ], "text/plain": [ @@ -279,35 +352,51 @@ } ], "source": [ - "%%html\n", + "from ipywidgets import interact, FloatSlider\n", + "from IPython.display import display, HTML, Javascript\n", + "\n", + "# Define the function to update the circle radius\n", + "def update_circle_radius(radius):\n", + " display(Javascript(f\"\"\"\n", + " (function() {{\n", + " var circle = d3.select(\"#d3-circle\");\n", + " if(circle) circle.attr(\"r\", {radius});\n", + " }})();\n", + " \"\"\"))\n", + "\n", + "# Create the slider widget\n", + "slider = FloatSlider(\n", + " value=50,\n", + " min=10,\n", + " max=100,\n", + " step=1,\n", + " description='Radius:',\n", + " continuous_update=False\n", + ")\n", + "\n", + "# Display the slider and pass the update function as the callback\n", + "interact(update_circle_radius, radius=slider)\n", + "\n", + "# Define the HTML and JavaScript code for the initial D3.js circle\n", + "html_code = \"\"\"\n", "
\n", + "\n", "" + "\n", + "\"\"\"\n", + "\n", + "# Display the initial D3.js circle\n", + "display(HTML(html_code))" ] }, { diff --git a/docs/notebooks/L1/1_ray_optics.html b/docs/notebooks/L1/1_ray_optics.html index 90e783d..6740b77 100644 --- a/docs/notebooks/L1/1_ray_optics.html +++ b/docs/notebooks/L1/1_ray_optics.html @@ -217,7 +217,7 @@

Ray Optics

Law of reflection#

|

-

74410a67b2534d4f9009329c90514572

+

aac225b3eca74f0bb33ce989fda2deda

@@ -234,7 +234,7 @@

Law of reflection

Law of refraction#

|

-

5dacb075f2f74b528d720d4a439a7650

+

2698f2eb6e934a9bb5f8742afaa3de2e

@@ -249,7 +249,7 @@

Law of refraction\(\theta_1\) with the angle of the refracted ray \(\theta_2\).

With this law of refraction, there are a number of special situations, that occur. This is for example the total internal refraction. You can explore different situations with the short program below which gives you control over the refractive indices and the incident angles.

-
[89]:
+
[102]:
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
[92]:
+
[103]:
 
-
%%html
-<div id="d3-container"></div>
-<script>
-// Ensure D3.js is loaded
-if (d3) {
-    // Select the container
-    var container = d3.select("#d3-container");
-
-    // Append an SVG element to the container
-    var svg = container.append("svg")
-        .attr("width", 400)
-        .attr("height", 200);
-
-    // Append a circle to the SVG element
-    svg.append("circle")
-        .attr("cx", 100)
-        .attr("cy", 100)
-        .attr("r", 50)
-        .style("fill", "blue");
-
-    circle.transition()
-        .duration(10000) // 2 seconds
-        .attr("cx", 290) // End at the right side
-        .ease(d3.easeLinear); // Use a linear easing function
-
-} else {
-    console.error("D3.js is not loaded");
-}
-</script>
+
from ipywidgets import interact, FloatSlider
+from IPython.display import display, HTML, Javascript
+
+# Define the function to update the circle radius
+def update_circle_radius(radius):
+    display(Javascript(f"""
+        (function() {{
+            var circle = d3.select("#d3-circle");
+            if(circle) circle.attr("r", {radius});
+        }})();
+    """))
+
+# Create the slider widget
+slider = FloatSlider(
+    value=50,
+    min=10,
+    max=100,
+    step=1,
+    description='Radius:',
+    continuous_update=False
+)
+
+# Display the slider and pass the update function as the callback
+interact(update_circle_radius, radius=slider)
+
+# Define the HTML and JavaScript code for the initial D3.js circle
+html_code = """
+<div id="d3-container"></div>
+<script src="https://d3js.org/d3.v6.min.js"></script>
+<script>
+    var container = d3.select("#d3-container");
+    var svg = container.append("svg")
+        .attr("width", 200)
+        .attr("height", 200);
+    svg.append("circle")
+        .attr("id", "d3-circle")
+        .attr("cx", 100)
+        .attr("cy", 100)
+        .attr("r", 50)
+        .style("fill", "blue");
+</script>
+"""
+
+# Display the initial D3.js circle
+display(HTML(html_code))
 
@@ -339,44 +373,54 @@

Law of refraction

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Refraction on spherical boundary#

Many of the interesting situations of refraction occur on interfaces, which are curved. Lenses, for example, have curved surfaces and the angles of refraction therefore change depending on the position. We can model in the simplest case by a spherical surface or in 2D just by a circular interface. The diagram below shows the definition of such a situation.

|

-

05c275b8a6104130aadb74549604e00e

+

558c811cefab402b83315df907d7f0a8

diff --git a/docs/notebooks/L1/1_ray_optics.ipynb b/docs/notebooks/L1/1_ray_optics.ipynb index ec85e02..c2e94fa 100644 --- a/docs/notebooks/L1/1_ray_optics.ipynb +++ b/docs/notebooks/L1/1_ray_optics.ipynb @@ -130,12 +130,48 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 102, "id": "fbf42d2d-ba72-4d79-b251-bf343a9c054c", "metadata": { "tags": [] }, "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "text/html": [ @@ -184,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 103, "id": "a7043a8d-8a5a-4b0a-9ec3-3c61e77665b1", "metadata": { "tags": [] @@ -241,33 +277,70 @@ { "data": { "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81c9708e657a43299356d6d746905d25", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(FloatSlider(value=50.0, continuous_update=False, description='Radius:', min=10.0, step=1…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", "
\n", + "\n", "\n" ], "text/plain": [ @@ -279,35 +352,51 @@ } ], "source": [ - "%%html\n", + "from ipywidgets import interact, FloatSlider\n", + "from IPython.display import display, HTML, Javascript\n", + "\n", + "# Define the function to update the circle radius\n", + "def update_circle_radius(radius):\n", + " display(Javascript(f\"\"\"\n", + " (function() {{\n", + " var circle = d3.select(\"#d3-circle\");\n", + " if(circle) circle.attr(\"r\", {radius});\n", + " }})();\n", + " \"\"\"))\n", + "\n", + "# Create the slider widget\n", + "slider = FloatSlider(\n", + " value=50,\n", + " min=10,\n", + " max=100,\n", + " step=1,\n", + " description='Radius:',\n", + " continuous_update=False\n", + ")\n", + "\n", + "# Display the slider and pass the update function as the callback\n", + "interact(update_circle_radius, radius=slider)\n", + "\n", + "# Define the HTML and JavaScript code for the initial D3.js circle\n", + "html_code = \"\"\"\n", "
\n", + "\n", "" + "\n", + "\"\"\"\n", + "\n", + "# Display the initial D3.js circle\n", + "display(HTML(html_code))" ] }, { diff --git a/docs/notebooks/L1/Lecture1.html b/docs/notebooks/L1/Lecture1.html index 6d55ab5..eb82750 100644 --- a/docs/notebooks/L1/Lecture1.html +++ b/docs/notebooks/L1/Lecture1.html @@ -231,7 +231,7 @@

Geometrical Optics

Law of reflection#

|

-

0f1f40618ec74ff685f585593ae98d3c

+

21731832378f45ee8fb98edaeca2308b

diff --git a/docs/searchindex.js b/docs/searchindex.js index 1b895f0..e411c1a 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["course-info/assignments", "course-info/exam", "course-info/instructor", "course-info/resources", "course-info/schedule", "course-info/website", "index", "lectures/Intro/overview", "lectures/L1/assignment_1", "lectures/L1/overview_1", "notebooks/Intro/EditCells", "notebooks/Intro/Empty", "notebooks/Intro/Introduction2Jupyter", "notebooks/Intro/NotebookEditor", "notebooks/L1/1_ray_optics", "notebooks/L1/Lecture1", "notebooks/L1/spherical_surface"], "filenames": ["course-info/assignments.rst", "course-info/exam.rst", "course-info/instructor.rst", "course-info/resources.rst", "course-info/schedule.rst", "course-info/website.rst", "index.rst", "lectures/Intro/overview.rst", "lectures/L1/assignment_1.rst", "lectures/L1/overview_1.rst", "notebooks/Intro/EditCells.ipynb", "notebooks/Intro/Empty.ipynb", "notebooks/Intro/Introduction2Jupyter.ipynb", "notebooks/Intro/NotebookEditor.ipynb", "notebooks/L1/1_ray_optics.ipynb", "notebooks/L1/Lecture1.ipynb", "notebooks/L1/spherical_surface.ipynb"], "titles": ["Assignments", "Exams", "Instructor", "Resources", "Course Schedule", "This Website", "Welcome to the Introduction to Photonics 1!", "Overview", "Exercise 1", "Lecture Contents", "Entering code", "An empty notebook", "Introduction to Jupyter", "Notebook editor", "General Optics", "1. General Optics", "<no title>"], "terms": {"thi": [0, 1, 3, 6, 10, 11, 12, 13, 14, 15, 16], "i": [1, 4, 5, 6, 8, 10, 13, 14, 15], "websit": [3, 10], "physic": [3, 5, 6, 7, 14], "schedul": [], "assign": [4, 5], "exam": [], "resourc": 5, "molecular": 15, "nanophoton": [], "group": 1, "python": [5, 9, 10, 12], "document": 10, "tutori": [], "instructor": [], "overview": [], "introduct": [1, 3, 9], "what": [1, 14], "editor": 7, "kernel": [], "edit": [10, 12], "mode": [10, 14, 15], "command": 10, "keyboard": 10, "navig": [], "run": 12, "code": [0, 1, 5, 7, 12], "manag": [], "enter": [7, 13], "markdown": [7, 8, 12, 13], "basic": [1, 9, 12, 13], "head": [], "embed": 12, "latex": [8, 12], "equat": [12, 14, 15], "imag": [12, 14, 15], "video": [0, 4, 5], "content": [5, 10, 12, 13], "exercis": [], "index": [6, 14], "modul": [6, 9, 10, 14, 15], "search": 6, "page": [5, 6, 10, 11, 12, 13, 14, 15, 16], "The": [0, 1, 4, 5, 7, 8, 12, 13, 14, 15], "lectur": [0, 4, 5], "held": 0, "complet": [0, 5, 10, 12], "onlin": [0, 4, 5], "year": 0, "we": [0, 1, 4, 5, 6, 8, 9, 10, 13, 14, 15], "suppli": 0, "also": [0, 1, 4, 5, 10, 12, 14, 15], "problem": [0, 1], "set": [0, 13, 14, 15, 16], "everi": [0, 4, 5], "week": [0, 4, 5], "all": [0, 1, 5, 12, 14, 15], "student": [0, 1], "come": [0, 4, 14, 15], "jupyt": [0, 1, 5, 7, 8, 9, 10, 13], "notebook": [0, 1, 4, 5, 7, 9, 10, 14, 15, 16], "individu": [0, 1, 10, 12], "pleas": [0, 4, 5], "fill": [0, 14], "answer": 0, "your": [0, 1, 5, 10, 12, 13], "ar": [0, 1, 3, 5, 9, 10, 12, 13, 14, 15], "ask": [0, 5], "return": [0, 10, 12, 14], "befor": [0, 15], "tuesdai": [0, 4], "morn": 0, "you": [0, 1, 3, 4, 5, 8, 9, 10, 12, 13, 14], "receiv": 0, "web": [0, 5, 12], "address": [0, 8, 14], "our": [0, 5, 8], "server": [0, 4, 5, 8, 12], "well": [0, 3, 5, 8, 10, 12, 15], "login": [0, 5, 8], "password": [0, 5, 8], "find": [0, 1, 3, 5, 15], "below": [0, 3, 10, 13, 14, 15], "short": [0, 14, 15], "how": [0, 10, 15], "download": [0, 5], "close": [1, 5, 14, 15], "cours": [1, 3, 5, 6, 7, 15], "an": [1, 4, 5, 8, 10, 12, 13, 14, 15], "form": [1, 10, 12, 14], "final": [1, 12, 14], "project": [1, 5, 10, 15], "shall": [1, 15], "topic": [1, 6, 7, 14], "choic": 1, "one": [1, 6, 10, 13, 14, 15], "provid": [1, 8, 10, 12, 13, 14], "exampl": [1, 10, 14], "hand": 1, "each": [1, 5, 12, 14, 15], "requir": [1, 5, 15], "No": 1, "work": [1, 5, 10, 15], "allow": [1, 5, 12, 13, 14], "follow": [1, 5, 10, 13, 14, 15], "outlin": 1, "introduc": [1, 6], "cover": 1, "motiv": 1, "go": [1, 5, 10, 13, 14, 15], "do": [1, 10, 14, 15], "should": [1, 10], "theoret": 1, "descript": [1, 6, 14], "solv": [1, 14, 15], "result": [1, 12, 14], "discuss": [1, 3, 5, 14], "develop": 1, "anot": 1, "step": [1, 16], "It": [1, 5, 6, 8, 12, 14, 15], "import": [1, 10, 13, 14, 15, 16], "highlight": 1, "consequ": [1, 15], "summari": 1, "summar": 1, "notbook": 1, "grade": [1, 15], "accord": [1, 14], "common": [1, 14], "scheme": 1, "email": [2, 12], "lastnam": 2, "physik": 2, "uni": 2, "leipzig": 2, "de": 2, "prof": 2, "dr": 2, "frank": 2, "cicho": [2, 15], "linn\u00e9str": 2, "5": [2, 13, 14, 15, 16], "04103": 2, "offic": 2, "322": 2, "phone": 2, "0341": 2, "97": 2, "32571": 2, "There": [3, 10, 12, 13, 14, 15], "ton": 3, "addit": [3, 12, 15], "structur": 3, "net": [3, 10], "onli": [3, 10, 14, 15], "veri": [3, 14], "small": [3, 14, 15], "select": [3, 10, 13, 14], "comput": [3, 5, 6, 12, 14], "base": [3, 5, 12, 14, 15], "model": [3, 5, 14], "mona": [3, 5], "forum": [3, 5], "matplotlib": [3, 15, 16], "panda": 3, "scienc": [3, 6], "nice": [3, 10], "updat": [4, 5, 14, 15], "weekli": 4, "thu": [4, 12, 13, 15], "expect": 4, "start": [4, 5, 6, 9, 10, 12], "april": 4, "7th": 4, "1": [4, 10, 13, 14, 16], "30": [4, 7], "pm": [4, 15], "new": [4, 5, 10, 13, 15], "As": [4, 8, 14], "materi": [4, 14, 15], "avail": [4, 12, 13], "can": [4, 5, 9, 10, 12, 13, 14, 15], "back": [4, 12], "studi": 4, "whenev": 4, "suitabl": [4, 14], "add": [4, 10, 12, 16], "explain": [4, 5, 10], "detail": [4, 12], "explor": [4, 5, 6, 9, 14, 15], "especi": 4, "mybind": [4, 5, 13], "thei": [4, 10, 14], "help": [4, 10, 12], "finish": [4, 13], "contain": [5, 6, 12, 14, 15], "inform": [5, 14, 15], "yet": [5, 12, 14], "accompani": [5, 12], "mai": [5, 10, 12], "get": [5, 15], "along": [5, 15], "just": [5, 10, 12, 14, 15], "read": [5, 12], "And": [5, 10], "give": [5, 14, 15], "chanc": 5, "interact": [5, 6, 12, 15], "have": [5, 9, 10, 13, 14, 15], "creat": [5, 9, 10, 12, 15, 16], "which": [5, 10, 12, 13, 14, 15], "reach": [5, 14], "ha": [5, 12, 13, 14, 15], "differ": [5, 12, 13, 14, 15], "categori": 5, "hope": 5, "us": [5, 6, 10, 12, 13, 14, 15], "intens": [5, 15], "question": 5, "guid": 5, "from": [5, 6, 10, 11, 12, 13, 14, 15, 16], "here": [5, 10, 12, 14, 15], "sever": [5, 14], "learn": 5, "program": [5, 12, 14, 15], "therebi": 5, "make": [5, 8, 10, 13, 14, 15, 16], "some": [5, 10, 14], "great": [5, 10], "tool": 5, "like": [5, 10, 12, 13, 14, 15], "servic": [5, 12], "host": 5, "http": [5, 10, 14], "org": [5, 12, 14], "binder": 5, "offer": 5, "easi": [5, 10], "place": 5, "share": [5, 12, 15], "environ": [5, 9, 12], "everyon": 5, "when": [5, 10, 12, 13, 14], "notic": 5, "icon": 5, "indic": [5, 13, 14, 15], "webpag": 5, "rather": 5, "than": [5, 10, 15], "look": [5, 13, 14, 15, 16], "click": [5, 10], "open": [5, 9, 13, 15], "patient": 5, "wait": 5, "until": [5, 13], "temporarili": 5, "If": [5, 10, 12, 13, 14, 15], "show": [5, 12, 13, 14, 15, 16], "inact": 5, "long": 5, "connect": [5, 12, 13], "finsih": 5, "keep": 5, "copi": [5, 13], "ahead": 5, "empti": 5, "github": [5, 12], "com": 5, "collabor": 5, "includ": [5, 10, 12, 14], "version": [5, 12, 13], "control": [5, 10, 12, 13, 14, 15], "In": [5, 6, 10, 13], "upper": 5, "right": [5, 10, 13, 14, 15, 16], "corner": [5, 13], "link": [5, 10], "repositori": 5, "anaconda": 5, "packag": 5, "www": 5, "distribut": 5, "privid": 5, "want": [5, 10, 14, 15], "home": 5, "without": [5, 8, 12, 15], "access": [5, 10], "good": [5, 10], "instal": [5, 12], "languag": [9, 10, 12], "kind": [], "scientif": [], "engin": [], "task": [], "analyz": [], "plot": [12, 14, 15, 16], "data": [9, 12], "numer": [], "difficult": [14, 15], "even": 14, "imposs": [], "analyt": [], "freeli": [], "been": 13, "due": 15, "its": [10, 12, 14], "modular": [], "extend": [], "nearli": [], "infinit": [], "number": [14, 15], "purpos": [], "intend": [], "aim": [], "more": [6, 10, 13, 14, 15], "beginn": [], "advanc": [6, 13, 14], "user": [12, 13], "interest": [14, 15], "throughout": [], "function": [10, 14, 15], "curv": [14, 15], "fit": [], "write": [10, 12, 15], "file": 12, "encount": [], "dure": [], "anim": [], "insid": [], "simul": 10, "process": [12, 13], "mechan": [14, 15], "electrostat": [], "wave": [6, 7, 14], "quantum": 15, "optic": 6, "At": [], "end": [10, 14, 15], "machin": [], "now": [10, 14, 15], "becom": 10, "present": [], "comprehens": [], "list": [8, 10], "stimul": [], "curios": [], "slight": [], "syntax": [], "alwai": [14, 15], "refer": [], "3": [10, 14, 16], "standard": [], "experiment": 7, "iii": 7, "deal": 7, "two": [7, 10, 13, 14, 15], "major": 7, "electromagnet": [6, 7, 14], "particl": [7, 15], "environn": 7, "00": [7, 9], "05": 7, "09": [7, 9], "43": 7, "16": 7, "15": [7, 9, 15], "first": [8, 10, 14, 15], "jupyterhub": 8, "ip": 8, "yourself": 8, "familiar": 8, "interfac": [8, 12, 13, 14, 15], "correspond": [8, 14], "classic": [8, 15], "ani": [8, 12, 13, 14], "tab": [8, 10, 12], "string": 8, "dictionari": 8, "after": [9, 15], "hopefulli": 9, "abl": [9, 13], "variabl": [9, 15], "type": [9, 10, 12, 13, 14], "01": [9, 15], "23": 9, "oper": [9, 13], "comparison": 9, "42": 9, "22": [9, 15], "namespac": [9, 10], "45": [9, 15], "03": [9, 15], "wa": [10, 11, 12, 13, 14, 15, 16], "gener": [6, 10, 11, 12, 13, 16], "intro": [10, 11, 12, 13], "editcel": 10, "ipynb": [10, 11, 12, 13, 14, 15, 16], "pretti": 10, "cell": [10, 12, 13], "multipl": 10, "line": [10, 15], "press": [10, 13], "block": 10, "identifi": [10, 14], "belong": [10, 14, 15], "togeth": [10, 14], "ident": 10, "longer": 10, "later": [10, 14], "To": 10, "indent": 10, "either": 10, "whitespac": 10, "comment": 10, "ad": 10, "annot": 10, "someon": 10, "els": [10, 14, 15], "understand": [10, 12], "singl": [6, 10, 14, 15], "charact": 10, "front": 10, "over": [10, 12, 14], "same": [10, 15], "docstr": 10, "text": [10, 12, 13, 14, 15], "2": [10, 14, 15, 16], "typic": [10, 15], "def": [10, 14, 15], "x": [10, 13, 14, 15], "calcul": [10, 15], "argument": 10, "float": 10, "integ": [10, 14], "valu": 10, "y": [10, 13, 14, 15], "time": [10, 14, 15], "don": [10, 12], "t": [10, 12, 13, 14, 15], "forget": 10, "__main__": 10, "extrem": 10, "wai": [10, 12, 14, 15], "everyth": 10, "realli": [10, 14], "chang": [10, 13, 14, 15], "action": 10, "menu": [10, 13], "hardwar": [10, 13], "shortcut": [10, 13], "m": [10, 13, 14], "popular": 10, "markup": [10, 12], "superset": 10, "html": [10, 12, 14], "Its": 10, "specif": [10, 12, 14], "found": 10, "daringfirebal": 10, "render": [10, 12, 13], "unrend": 10, "see": [10, 13, 14], "format": [10, 12, 15], "represent": [10, 12], "": [10, 12, 13, 14], "raw": [10, 12, 13], "sourc": [10, 14, 15], "button": [10, 13], "shift": [10, 13, 15], "doubl": 10, "appear": 10, "put": 10, "ital": 10, "bold": 10, "build": 10, "nest": 10, "item": 10, "enumer": 10, "subitem": 10, "subsubitem": 10, "second": [10, 14, 15], "third": [10, 15], "anoth": [10, 13, 14], "sublist": 10, "blockquot": 10, "beauti": 10, "better": 10, "ugli": 10, "explicit": 10, "implicit": 10, "simpl": [6, 10, 12, 15], "complex": [6, 10, 14, 15], "complic": 10, "flat": 10, "spars": 10, "dens": 10, "readabl": 10, "count": 10, "special": [10, 14, 15], "case": [10, 14, 15], "aren": 10, "enough": 10, "break": [10, 14], "rule": 10, "although": 10, "practic": 10, "beat": [10, 15], "puriti": 10, "error": [10, 14, 15], "never": 10, "pass": 10, "silent": 10, "unless": 10, "explicitli": 10, "silenc": 10, "face": 10, "ambigu": 10, "refus": 10, "temptat": 10, "guess": 10, "prefer": 10, "obviou": 10, "re": [10, 15], "dutch": 10, "often": [10, 15], "implement": 10, "hard": 10, "bad": 10, "idea": 10, "honk": 10, "let": [10, 15], "those": 10, "shorthand": 10, "space": [10, 15], "emb": 10, "meant": [10, 12], "illustr": 10, "instead": 10, "execut": [10, 12, 13], "f": [10, 14], "other": [10, 12, 14, 15], "0": [10, 13, 14, 15, 16], "n": [10, 14, 15], "printf": 10, "hello": 10, "d": [10, 13, 14, 15], "4": [10, 14, 16], "courtesi": 10, "mathjax": 10, "mathemat": [10, 14, 15], "express": [10, 14, 15], "both": [10, 15], "inlin": 10, "e": [10, 13, 14, 15], "pi": [10, 14, 15], "displai": [10, 12, 14], "sum_": [10, 14, 15], "infti": [10, 15], "frac": [10, 14, 15], "surround": 10, "own": [10, 12], "directli": 10, "integr": [10, 14, 15], "altern": 10, "url": [10, 12], "src": [10, 14], "mov": 10, "movi": 10, "mp4": 10, "width": [10, 14, 15], "320": 10, "height": [10, 14], "200": [10, 14], "preload": 10, "store": 10, "local": [10, 15], "youtub": 10, "ipython": [10, 14], "9": [10, 14, 15], "youtubevideo": 10, "qllx32jugzi": 10, "600": [10, 15], "introduction2jupyt": 12, "A": [12, 13, 15], "browser": 12, "enabl": 12, "These": [12, 14], "self": 12, "record": 12, "convert": 12, "variou": 12, "system": [12, 14, 15], "git": 12, "nbviewer": 12, "combin": 12, "three": [12, 15], "compon": [12, 14], "applic": [6, 12, 14], "desktop": 12, "separ": [12, 13, 15], "given": [12, 14, 15], "output": 12, "handl": 12, "thing": 12, "widget": [12, 15], "introspect": 12, "visibl": 12, "input": 12, "rich": 12, "media": [6, 12], "object": [12, 14, 15], "brows": 12, "individual": 12, "arbitrari": 12, "oder": [12, 14, 15], "png": 12, "svg": [12, 14], "pdf": 12, "javascript": 12, "bind": 12, "visual": [12, 14], "reactiv": 12, "side": [12, 14, 15], "bound": 12, "almost": 12, "dedic": [12, 13], "100": [12, 13, 14], "julia": 12, "r": [12, 13, 14, 15], "rubi": 12, "haskel": 12, "scala": 12, "mani": [6, 12, 13, 14, 15], "default": 12, "pick": 12, "commun": 12, "json": 12, "zeromq": 12, "websocket": 12, "messag": 12, "protocol": 12, "describ": [12, 14, 15], "most": [12, 13, 15], "need": [12, 14, 15], "know": [12, 14], "about": 12, "session": 12, "filesystem": 12, "extens": 12, "easili": 12, "consist": 12, "linear": [6, 12, 14], "sequenc": 12, "live": 12, "narr": 12, "unformat": 12, "modif": 12, "nbconvert": 12, "intern": 12, "binari": 12, "encod": 12, "base64": 12, "them": [12, 14], "manipul": [6, 12, 13], "programmat": 12, "export": 12, "static": 12, "restructeredtext": 12, "slide": 12, "reveal": 12, "j": [12, 13, 14, 15], "util": 12, "furthermor": 12, "public": 12, "via": 12, "load": [12, 14], "notebookeditor": 13, "essenti": 13, "where": [13, 14], "jupyterlab": 13, "blue": [13, 14, 15], "border": 13, "prompt": 13, "area": 13, "normal": [13, 14, 15], "grei": 13, "io": 13, "devic": 13, "modal": 13, "optim": 13, "effici": 13, "usag": 13, "made": [13, 15], "possibl": [13, 15], "activ": 13, "rel": [13, 15], "few": 13, "entir": 13, "so": [13, 15], "ones": 13, "switch": 13, "mod": 13, "esc": 13, "k": [13, 14, 15], "current": [13, 15], "save": 13, "insert": [13, 14, 15], "abov": [13, 14, 15], "b": [13, 15], "pasteboard": 13, "cut": 13, "c": [13, 14, 15], "v": [13, 15], "past": 13, "delet": 13, "z": [13, 14, 15], "undo": 13, "interrupt": 13, "restart": 13, "bottom": 13, "panel": 13, "10": [13, 15], "print": 13, "coupl": [13, 15], "move": 13, "option": [13, 16], "call": [13, 14, 15], "top": [13, 14], "report": 13, "state": [13, 14, 15], "mean": [13, 14, 15], "readi": 13, "busi": 13, "tap": 13, "reconnect": 13, "try": [13, 15], "won": 13, "l1": [14, 15, 16], "1_ray_opt": 14, "ipywidget": 15, "pyplot": [15, 16], "plt": [14, 15, 16], "numpi": 15, "np": [14, 15], "deliv": 14, "simplest": [14, 15], "light": [6, 14], "propag": [6, 14, 15], "despit": 14, "simplif": 14, "power": [6, 14, 15], "howev": 14, "doe": 14, "insight": 14, "govern": 14, "geometr": 14, "therefor": [14, 15], "assumpt": [14, 15], "travel": [14, 15], "emit": [14, 15], "detect": [14, 15], "detector": [14, 15], "effect": 14, "medium": 14, "c_": [14, 15], "take": [14, 15], "distanc": [14, 15], "nd": [14, 15], "amount": [14, 15], "path": [14, 15], "length": [14, 15], "satisfi": [14, 15], "neither": 14, "speed": [14, 15], "nor": 14, "someth": 14, "consid": 14, "infer": 14, "observ": 14, "figur": [14, 15, 16], "angl": [14, 15, 16], "incid": [14, 15], "equal": [14, 15, 16], "begin": [14, 15], "theta_": [14, 15], "n_": [14, 15], "sin": [14, 15], "known": [14, 15], "snell": [14, 15], "relat": [14, 15], "theta_1": [14, 15], "theta_2": [14, 15], "With": [14, 15], "situat": [14, 15], "occur": [14, 15], "total": [], "fig": [14, 15, 16], "ax": [14, 15, 16], "subplot": [14, 15, 16], "figsiz": [14, 15], "canva": [14, 15], "header_vis": [14, 15], "fals": [14, 15], "n1": [14, 15], "n2": [14, 15], "90": [14, 15, 16], "remov": [14, 15], "old": 15, "cla": 15, "theta1": [14, 15, 16], "180": [15, 16], "theta2": [15, 16], "arcsin": [14, 15], "set_titl": [14, 15], "axvlin": [14, 15], "l": 15, "04": 15, "n_2": [14, 15], "n_1": [14, 15], "round": 15, "axhlin": 15, "color": [14, 15], "lw": 15, "quiver": 15, "co": [14, 15], "scale": 15, "pivot": 15, "tip": 15, "red": 15, "lens": [14, 15], "surfac": [14, 15], "depend": [14, 15], "posit": [14, 15], "2d": [14, 15], "circular": [14, 15], "diagram": [14, 15], "definit": [14, 15], "alpha": [14, 15], "delta": [14, 15], "tan": [14, 15], "z_2": [14, 15], "z_1": [14, 15], "gamma": 15, "approx": [14, 15], "replac": 15, "n_2r": [14, 15], "conjug": 15, "plane": 15, "quad": [14, 15], "rightarrow": [14, 15], "yz_2": [14, 15], "left": [14, 15], "z_2y": [14, 15], "independ": 15, "up": [14, 15], "point": [14, 15], "foundat": [6, 14, 15], "biconvex": 15, "len": [], "appli": [14, 15], "formula": 15, "twice": 15, "theta_t": [14, 15], "nr_1": [14, 15], "r_2": [14, 15], "r_1": [14, 15], "maker": [14, 15], "tell": [14, 15], "radii": [14, 15], "flip": [14, 15], "sign": [14, 15], "sinc": [14, 15], "direct": [14, 15], "y_2": [14, 15], "y_1": [14, 15], "magnif": [14, 15], "limit": [14, 15], "paraxi": [14, 15], "approxim": [14, 15], "6": [14, 15], "120": [14, 15], "dot": [14, 15], "ll": [14, 15], "rm": [14, 15], "radian": [14, 15], "true": [14, 15], "microscopi": [6, 14, 15], "80": [14, 15], "still": [14, 15], "lecture1": 15, "2020": 15, "violat": 15, "primari": 15, "abber": 15, "classif": 15, "seidel": 15, "1821": 15, "1896": 15, "coma": [14, 15], "astigmat": [14, 15], "field": [6, 15], "curvatur": [14, 15], "distort": 15, "2z_1": 15, "chromat": 15, "measur": 15, "correct": 15, "shape": [14, 15], "nowadai": 15, "adapt": [6, 15], "spatial": 15, "max": 15, "larger": [14, 15], "solut": 15, "theta_c": [14, 15], "glass": [14, 15], "41": [14, 15], "8": [14, 15], "water": 15, "48": 15, "7": 15, "diamond": 15, "24": 15, "h": 15, "_2": 15, "o": 15, "33": 15, "loss": 15, "central": 15, "core": 15, "clad": 15, "lower": [14, 15], "low": 15, "multimod": 15, "gradient": 15, "mostli": 15, "silica": 15, "sio": 15, "44": 15, "46": 15, "001": 15, "02": 15, "overlin": 15, "phi": [14, 15], "theta": 15, "theta_a": 15, "sqrt": [14, 15], "na": 15, "qquad": 15, "ay_1": 15, "cy_1": 15, "arrai": [14, 15], "rr": 15, "transfer": 15, "bmatrix": 15, "convex": 15, "concav": 15, "whole": 15, "precalcul": 15, "matric": 15, "element": [14, 15], "m_nm_": 15, "m_1": 15, "rememb": 15, "free": 15, "perfect": 15, "cloack": 15, "appar": 15, "immit": 15, "condit": 15, "afoc": 15, "except": 15, "nbsphinx": 15, "math": [14, 15], "f_2": 15, "f_1": 15, "f_1f_2": 15, "f_3": 15, "t_2": 15, "t_1": 15, "four": 15, "t_1t_2": 15, "t_4": 15, "f_4": 15, "t_3": 15, "2t_1": 15, "2f_2": 15, "vec": 15, "op": 15, "int_a": 15, "mathrm": 15, "taken": 15, "proporton": 15, "extremum": 15, "neighbor": 15, "minimum": 15, "maximum": 15, "inflect": 15, "usual": 15, "pmatrix": 15, "y_0": 15, "opl": 15, "split": 15, "l_1": 15, "l_2": 15, "beta": 15, "equiv": 15, "2r_2": 15, "2f": [14, 15], "must": 15, "converg": 15, "global": 15, "nabla": 15, "trajectori": 15, "variat": [14, 15], "calculu": 15, "dx": 15, "partial": 15, "dy": 15, "dz": 15, "hspace": 15, "9cm": 15, "parametr": 15, "const": 15, "straight": 15, "selfoc": 15, "n_0": 15, "2y": 15, "parabol": 15, "profil": 15, "theta_0": 15, "squar": 15, "potenti": 15, "magnifi": 15, "simplifi": 15, "behind": 15, "virtual": 15, "real": 15, "construct": 15, "2x": 15, "da": 15, "aa": 15, "cosh": 15, "sinh": 15, "x_": 15, "y_": 15, "check": [14, 15], "veloc": 15, "horizont": 15, "n_h": 15, "newton": 15, "dt": 15, "u": 15, "coulomb": 15, "q": 15, "epsilon_0": 15, "r_": 15, "rf": 15, "chi": 15, "photon": 15, "prf": 15, "zeta": 15, "hbar": 15, "lambda": 15, "_k": 15, "wavelength": 15, "character": 15, "c_0": 15, "2u": 15, "superposit": 15, "u_1": 15, "u_2": 15, "a_1u_1": 15, "a_2u_2": 15, "langl": 15, "rangl": 15, "averag": 15, "cycl": 15, "nm": 15, "omega": 15, "amplitud": 15, "frequenc": [14, 15], "nu": 15, "phase": 15, "helmholtz": 15, "arg": 15, "wavefront": [14, 15], "ikr": 15, "outward": 15, "inward": 15, "_0": 15, "origin": [14, 15], "fresnel": 15, "axi": [14, 15], "taylor": 15, "align": 15, "2z": 15, "ikz": 15, "ik": 15, "kz": 15, "4z": 15, "n_f": 15, "2_m": 15, "theta_m": 15, "wavevector": 15, "nk_0": 15, "stai": 15, "lambda_0": 15, "_1": 15, "k_": 15, "1x": 15, "k_1": 15, "k_2": 15, "1z": 15, "_3": 15, "n_1k_0": 15, "k_3": 15, "n_2k_0": 15, "3x": 15, "tangenti": 15, "conserv": 15, "repres": [14, 15], "ik_0": 15, "label": [14, 15], "magnitud": 15, "k_0": 15, "ref": 15, "2a": 15, "imaginari": 15, "part": 15, "zero": 15, "indenpend": 15, "vari": 15, "slowli": 15, "eikon": 15, "proport": 15, "transmitt": 15, "ikd": 15, "thick": 15, "air": [14, 15], "d_0": 15, "h_0": 15, "ik_0d_0": 15, "valid": 15, "big": 15, "2r": 15, "ink_0d_0": 15, "constant": 15, "transform": [14, 15], "paraboloid": 15, "center": [15, 16], "diffract": 15, "grate": 15, "transmit": 15, "sampl": 15, "mu": 15, "camera": 15, "_": 15, "cam": 15, "int": 15, "i2": 15, "prime": 15, "contrast": 15, "dpc": 15, "i_t": 15, "i_b": 15, "superpos": 15, "i_1": 15, "i_2": 15, "u_1u_2": 15, "phi_1": 15, "phi_2": 15, "i_1i_2": 15, "i_0": 15, "i_": 15, "min": [14, 15], "translat": 15, "2i_0": 15, "exist": 15, "monochromat": 15, "u_m": 15, "i_3": 15, "between": 15, "seri": [6, 15], "im": 15, "peak": 15, "bar": 15, "mi_0": 15, "hu_1": 15, "u_3": 15, "2u_1": 15, "4r": 15, "ge": 15, "tild": 15, "finess": 15, "mathcal": 15, "simeq": 15, "2nd": 15, "spectral": 15, "rang": [14, 15], "interfer": 15, "laser": 15, "caviti": 15, "fabri": 15, "perot": 15, "interferomet": 15, "digit": 15, "holographi": 15, "track": 15, "domain": 15, "nu_1": 15, "nu_2": 15, "odd": 15, "2l": 15, "nu_q": 15, "nu_0": 15, "nu_f": 15, "interval": 15, "sum": [14, 15], "phasor": 15, "again": 15, "nu_ft": 15, "t_f": 15, "puls": 15, "ghz": 15, "1000": [14, 15], "lock": 15, "tau": 15, "comb": 15, "far": 15, "u_0": 15, "envelop": 15, "nabla_t": 15, "i2k": 15, "helmholz": 15, "2_t": 15, "a_1": 15, "rho": [14, 15], "xi": 15, "iz_0": 15, "z_0": 15, "rayleigh": 15, "w": 15, "radiu": [14, 15, 16], "a_0": 15, "w_0": 15, "paramet": 15, "perp": 15, "gg": 15, "invers": 15, "int_0": 15, "within": 15, "certain": [14, 15], "rho_0": 15, "86": 15, "99": 15, "waist": 15, "spot": 15, "size": 15, "theta_0z": 15, "increas": 15, "linearli": 15, "larg": 15, "diverg": 15, "simlarli": 15, "slit": 15, "heisenberg": 15, "depth": 15, "focu": 15, "2z_0": 15, "additon": 15, "retard": 15, "guoi": 15, "v_p": 15, "arctan": 15, "2_0": 15, "mw_0": 15, "locat": [14, 15], "m_r": 15, "q_2": 15, "aq_1": 15, "cq_1": 15, "abcd": 15, "q_1": 15, "focus": 15, "2_2": 15, "w_2": 15, "focal": 15, "non": [6, 14, 15], "g": 15, "u_": 15, "h_m": 15, "h_n": 15, "hermit": 15, "polynomi": 15, "h_1": 15, "20": 15, "h_2": 15, "wavefunct": 15, "mirror": 15, "l_p": 15, "il": 15, "2p": 15, "laguerr": 15, "radial": [14, 15], "azimuth": [14, 15], "neg": [14, 15], "helic": 15, "topolog": 15, "charg": 15, "gauss": 15, "electr": 15, "magnet": 15, "vector": 15, "maxwel": 15, "varepsilon_0": 15, "mu_0": 15, "36": 15, "permitt": 15, "permeabl": 15, "varepsilon": 15, "alreadi": [14, 15], "_0e": 15, "transvers": 15, "energi": 15, "densiti": 15, "u_b": 15, "flow": [6, 15], "poynt": 15, "rangle_t": 15, "e_0": 15, "eta_0": 15, "mu_0c_0": 15, "377": 15, "imped": 15, "vacuum": 15, "radiat": 15, "pressur": 15, "electron": 15, "cloud": 15, "displac": 15, "against": 15, "nucleu": 15, "dipol": 15, "elementari": 15, "11": 15, "75": 15, "13": 15, "mm": 15, "atom": 15, "glanc": 15, "per": 15, "unit": [14, 15], "volum": 15, "hat": 15, "g_b": 15, "oint_": 15, "q_b": 15, "int_v": 15, "dv": 15, "rho_b": 15, "nq": 15, "flux": 15, "assum": [14, 15], "rest": 15, "orient": 15, "ionic": 15, "degener": 15, "propto": 15, "histori": 15, "p_i": 15, "sum_j": 15, "chi_": 15, "ij": 15, "e_j": 15, "d_i": 15, "varepsilon_": 15, "int_": 15, "a_2": 15, "a_3": 15, "e_": 15, "e_a": 15, "delai": 15, "nfrac": 15, "sim": 15, "plate": 15, "suscept": 15, "scalar": 15, "varepsilon_r": 15, "damp": 15, "harmon": 15, "oscil": 15, "ddot": 15, "sigma": 15, "omega_0": 15, "x_0": 15, "respons": 15, "eta": 15, "q_e": 15, "nq_e": 15, "polariz": 15, "chi_0": 15, "treatment": 15, "ne": 15, "f_j": 15, "omega_j": 15, "sigma_j": 15, "strength": 15, "f_": 15, "12": [14, 15], "m_l": 15, "hbar\u00b2": 15, "e_2": 15, "e_1": 15, "lorentz": 15, "kappa": 15, "2i": 15, "2k_0": 15, "coeffici": 15, "weakli": 15, "absorb": 15, "dn": 15, "intim": 15, "stem": 15, "polarizazit": 15, "a_x": 15, "_x": 15, "a_i": 15, "_y": 15, "phi_x": 15, "phi_i": 15, "e_x": 15, "e_i": 15, "e_xe_i": 15, "a_xa_i": 15, "half": 15, "2a_xa_i": 15, "circ": 15, "ellipt": 15, "neq": 15, "formal": 15, "j_1": 15, "j_2": 15, "a_": 15, "1y": 15, "determin": 15, "under": [14, 15], "rai": 6, "facet": 6, "research": 6, "involv": [6, 14], "propgat": 6, "fundament": 6, "matter": 6, "disord": 6, "quanta": 6, "superresolut": 6, "fastest": 6, "grow": 6, "fourier": 6, "anisotrop": 6, "lai": 6, "patch": 16, "defin": [14, 16], "arc": 16, "degre": [14, 16], "add_patch": 16, "aspect": 16, "set_aspect": 16, "set_xlim": 16, "set_ylim": 16, "draw": 14, "further": 14, "hit": 14, "nonlinear": 14, "angular": 14, "obtain": 14, "expand": 14, "bracket": 14, "lead": 14, "note": 14, "seen": 14, "latter": 14, "actual": 14, "level": 14, "deriv": 14, "orthonorm": 14, "wide": 14, "did": 14, "disk": 14, "particularli": 14, "becaus": 14, "orthogon": 14, "inner": 14, "product": 14, "circl": 14, "decompos": 14, "polar": 14, "coordin": 14, "z_n": 14, "r_n": 14, "geq": 14, "leq": 14, "2k": 14, "method": 14, "being": 14, "noll": 14, "pair": 14, "order": 14, "ophthalmologi": 14, "human": 14, "ey": 14, "decomposit": 14, "simpler": 14, "defocu": 14, "etc": 14, "radial_polynomi": 14, "zeros_lik": 14, "ab": 14, "factori": 14, "zernike_polynomi": 14, "linspac": 14, "400": 14, "xx": 14, "yy": 14, "meshgrid": 14, "arctan2": 14, "mask": 14, "nan": 14, "flatten": 14, "imshow": 14, "extent": 14, "off": 14, "tight_layout": 14, "spherical_surfac": 16, "outgo": 14, "characterist": 14, "onto": 14, "revers": 14, "anymor": 14, "out": 14, "phenomenon": 14, "fantast": 14, "54": 14, "snell_law": 14, "theta1_degre": 14, "theta1_radian": 14, "sin_theta2": 14, "theta2_radian": 14, "n1_glass": 14, "n2_air": 14, "theta2_glass_to_air": 14, "dpi": 14, "150": 14, "linestyl": 14, "critic": 14, "\u03b8c": 14, "xlabel": 14, "\u03b8_1": 14, "ylabel": 14, "\u03b8_2": 14, "xlim": 14, "ylim": 14, "grid": 14, "61": 14, "62": [], "html_code": [], "id": 14, "mycanva": [], "style": 14, "1px": [], "solid": [], "000000": [], "support": [], "html5": [], "tag": [], "script": 14, "var": 14, "getelementbyid": [], "ctx": [], "getcontext": [], "rectangl": [], "fillstyl": [], "0000ff": [], "fillrect": [], "63": [], "mybutton": [], "me": [], "handlebuttonclick": [], "alert": [], "addeventlisten": [], "64": [], "createel": [], "cdnj": [], "cloudflar": [], "ajax": [], "lib": [], "d3": 14, "appendchild": [], "consol": 14, "log": [], "window": [], "65": [], "svg_script": [], "append": 14, "attr": 14, "300": [], "stroke": [], "grai": [], "cyan": [], "130": [], "cx": 14, "cy": 14, "transit": 14, "durat": 14, "10000": 14, "69": [], "load_d3_in_cell_output": 14, "d3j": 14, "v6": 14, "get_ipython": 14, "event": 14, "regist": 14, "pre_run_cel": 14, "70": [], "div": 14, "ensur": 14, "50": 14, "89": 14, "92": 14, "290": 14, "eas": 14, "easelinear": 14}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"welcom": 6, "experiment": [], "physik": [], "3": 15, "cours": 4, "inform": [], "jupyt": 12, "notebook": [11, 12, 13], "lectur": [6, 9], "1": [6, 8, 15], "indic": 6, "tabl": 6, "assign": 0, "exam": 1, "instructor": 2, "resourc": 3, "molecular": 3, "nanophoton": 3, "group": 3, "python": 3, "document": [3, 12], "tutori": 3, "schedul": 4, "thi": 5, "websit": 5, "introduct": [6, 12], "photon": 6, "overview": 7, "exercis": 8, "content": 9, "enter": 10, "code": [10, 13], "markdown": 10, "basic": 10, "head": 10, "embed": 10, "latex": 10, "equat": 10, "imag": 10, "video": 10, "an": 11, "empti": 11, "what": [12, 15], "i": 12, "editor": [12, 13], "kernel": [12, 13], "edit": 13, "mode": 13, "command": 13, "keyboard": 13, "navig": 13, "run": 13, "manag": 13, "gener": [14, 15], "optic": [14, 15], "rai": [14, 15], "law": [14, 15], "reflect": [14, 15], "refract": [14, 15], "spheric": [14, 15], "boundari": [14, 15], "geometr": 15, "total": [14, 15], "intern": [14, 15], "guid": 15, "light": 15, "fiber": 15, "step": 15, "index": 15, "meridion": 15, "skew": 15, "numer": 15, "apertur": 15, "matrix": 15, "For": 15, "exampl": 15, "cloak": 15, "fermat": 15, "": 15, "principl": 15, "thin": 15, "len": [14, 15], "formul": 15, "differenti": 15, "form": 15, "compon": 15, "grin": 15, "you": 15, "should": 15, "know": 15, "mirag": 15, "effect": 15, "over": 15, "hot": 15, "street": 15, "bf": 15, "f": 15, "m": 15, "cdot": 15, "correspond": 15, "quantiti": 15, "momentum": 15, "tweezer": 15, "wave": 15, "gaussian": 15, "beam": 15, "propierti": 15, "transmiss": 15, "through": 15, "higher": 15, "order": 15, "cylindr": 15, "coordin": 15, "electromagnet": 15, "dielectr": 15, "media": 15, "linear": 15, "nondispers": 15, "homogen": 15, "isotrop": 15, "inhomogen": 15, "anisotrop": 15, "dispers": 15, "nonlinear": 15, "microscop": 15, "model": 15, "p": 15, "reson": 15, "medium": 15, "absorpt": 15, "kramer": 15, "kronig": 15, "4": 15, "polar": 15, "conjug": 14, "plane": 14, "biconvex": 14, "aberr": 14, "character": 14, "zernik": 14, "polynomi": 14}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 57}, "alltitles": {"Assignments": [[0, "assignments"]], "Exams": [[1, "exams"]], "Instructor": [[2, "instructor"]], "Resources": [[3, "resources"]], "Molecular Nanophotonics Group": [[3, "molecular-nanophotonics-group"]], "Python Documentation": [[3, "python-documentation"]], "Python Tutorials": [[3, "python-tutorials"]], "Course Schedule": [[4, "course-schedule"]], "This Website": [[5, "this-website"]], "Overview": [[7, "overview"]], "Exercise 1": [[8, "exercise-1"]], "Lecture Contents": [[9, "lecture-contents"]], "Entering code": [[10, "Entering-code"]], "Entering Markdown": [[10, "Entering-Markdown"]], "Markdown basics": [[10, "Markdown-basics"]], "Headings": [[10, "Headings"]], "Embedded code": [[10, "Embedded-code"]], "LaTeX equations": [[10, "LaTeX-equations"]], "Images": [[10, "Images"]], "Videos": [[10, "Videos"]], "An empty notebook": [[11, "An-empty-notebook"]], "Introduction to Jupyter": [[12, "Introduction-to-Jupyter"]], "What is Jupyter Notebook?": [[12, "What-is-Jupyter-Notebook?"]], "Notebook editor": [[12, "Notebook-editor"], [13, "Notebook-editor"]], "Kernels": [[12, "Kernels"]], "Notebook documents": [[12, "Notebook-documents"]], "Edit mode": [[13, "Edit-mode"]], "Command mode": [[13, "Command-mode"]], "Keyboard navigation": [[13, "Keyboard-navigation"]], "Running code": [[13, "Running-code"]], "Managing the kernel": [[13, "Managing-the-kernel"]], "Welcome to the Introduction to Photonics 1!": [[6, "welcome-to-the-introduction-to-photonics-1"]], "Lecture 1:": [[6, null]], "Indices and tables": [[6, "indices-and-tables"]], "General Optics": [[14, "General-Optics"]], "Ray Optics": [[14, "Ray-Optics"]], "Law of reflection": [[14, "Law-of-reflection"], [15, "Law-of-reflection"]], "Law of refraction": [[14, "Law-of-refraction"], [15, "Law-of-refraction"]], "Refraction on spherical boundary": [[14, "Refraction-on-spherical-boundary"], [15, "Refraction-on-spherical-boundary"]], "Conjugated Planes": [[14, "Conjugated-Planes"]], "Biconvex Lens": [[14, "Biconvex-Lens"]], "Aberration Characterization and Zernike Polynomials": [[14, "Aberration-Characterization-and-Zernike-Polynomials"]], "Total Internal Reflection": [[14, "Total-Internal-Reflection"]], "1. General Optics": [[15, "1.-General-Optics"]], "Geometrical Optics": [[15, "Geometrical-Optics"]], "Total internal reflection": [[15, "Total-internal-reflection"]], "Guiding light fibers": [[15, "Guiding-light-fibers"]], "Step-index fiber": [[15, "Step-index-fiber"]], "Meridional ray": [[15, "Meridional-ray"]], "Skewed ray": [[15, "Skewed-ray"]], "Numerical aperture": [[15, "Numerical-aperture"]], "Matrix Optics": [[15, "Matrix-Optics"], [15, "id5"]], "For example: Optical cloaking": [[15, "For-example:-Optical-cloaking"]], "Fermat\u2019s Principle": [[15, "Fermat's-Principle"]], "Refraction": [[15, "Refraction"]], "Thin lens": [[15, "Thin-lens"]], "Formulation of Fermat\u2019s principle": [[15, "Formulation-of-Fermat's-principle"]], "Differential form in components": [[15, "Differential-form-in-components"]], "GRIN lens": [[15, "GRIN-lens"]], "What you should know:": [[15, "What-you-should-know:"]], "Mirage effect over a hot street": [[15, "Mirage-effect-over-a-hot-street"]], "{\\bf F = m \\cdot a} optics": [[15, "{\\bf-F-=-m-\\cdot-a}-optics"]], "Corresponding quantities": [[15, "Corresponding-quantities"]], "Ray optics and momentum": [[15, "Ray-optics-and-momentum"]], "Optical Tweezers": [[15, "Optical-Tweezers"]], "Wave Optics": [[15, "Wave-Optics"]], "Gaussian beam": [[15, "Gaussian-beam"]], "Propierties": [[15, "Propierties"]], "Transmission through a lens": [[15, "Transmission-through-a-lens"]], "Higher order Gaussian beams": [[15, "Higher-order-Gaussian-beams"]], "Cylindrical coordinates": [[15, "Cylindrical-coordinates"]], "1.3 Electromagnetic Optics": [[15, "1.3-Electromagnetic-Optics"]], "Dielectric media": [[15, "Dielectric-media"]], "linear media": [[15, "linear-media"]], "nondispersive media": [[15, "nondispersive-media"]], "homogeneous media": [[15, "homogeneous-media"]], "isotropic media": [[15, "isotropic-media"]], "inhomogeneous media": [[15, "inhomogeneous-media"]], "anisotropic media": [[15, "anisotropic-media"]], "dispersive media": [[15, "dispersive-media"]], "nonlinear media": [[15, "nonlinear-media"]], "Linear, nondispersive, homogeneous, isotropic media": [[15, "Linear,-nondispersive,-homogeneous,-isotropic-media"]], "microscopic model of P": [[15, "microscopic-model-of-P"]], "resonant medium": [[15, "resonant-medium"]], "dispersion": [[15, "dispersion"]], "absorption and dispersion": [[15, "absorption-and-dispersion"]], "Kramers\u2013Kronig": [[15, "Kramers\u2013Kronig"]], "1.4 Polarization Optics": [[15, "1.4-Polarization-Optics"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["course-info/assignments", "course-info/exam", "course-info/instructor", "course-info/resources", "course-info/schedule", "course-info/website", "index", "lectures/Intro/overview", "lectures/L1/assignment_1", "lectures/L1/overview_1", "notebooks/Intro/EditCells", "notebooks/Intro/Empty", "notebooks/Intro/Introduction2Jupyter", "notebooks/Intro/NotebookEditor", "notebooks/L1/1_ray_optics", "notebooks/L1/Lecture1", "notebooks/L1/spherical_surface"], "filenames": ["course-info/assignments.rst", "course-info/exam.rst", "course-info/instructor.rst", "course-info/resources.rst", "course-info/schedule.rst", "course-info/website.rst", "index.rst", "lectures/Intro/overview.rst", "lectures/L1/assignment_1.rst", "lectures/L1/overview_1.rst", "notebooks/Intro/EditCells.ipynb", "notebooks/Intro/Empty.ipynb", "notebooks/Intro/Introduction2Jupyter.ipynb", "notebooks/Intro/NotebookEditor.ipynb", "notebooks/L1/1_ray_optics.ipynb", "notebooks/L1/Lecture1.ipynb", "notebooks/L1/spherical_surface.ipynb"], "titles": ["Assignments", "Exams", "Instructor", "Resources", "Course Schedule", "This Website", "Welcome to the Introduction to Photonics 1!", "Overview", "Exercise 1", "Lecture Contents", "Entering code", "An empty notebook", "Introduction to Jupyter", "Notebook editor", "General Optics", "1. General Optics", "<no title>"], "terms": {"thi": [0, 1, 3, 6, 10, 11, 12, 13, 14, 15, 16], "i": [1, 4, 5, 6, 8, 10, 13, 14, 15], "websit": [3, 10], "physic": [3, 5, 6, 7, 14], "schedul": [], "assign": [4, 5], "exam": [], "resourc": 5, "molecular": 15, "nanophoton": [], "group": 1, "python": [5, 9, 10, 12], "document": 10, "tutori": [], "instructor": [], "overview": [], "introduct": [1, 3, 9], "what": [1, 14], "editor": 7, "kernel": [], "edit": [10, 12], "mode": [10, 14, 15], "command": 10, "keyboard": 10, "navig": [], "run": 12, "code": [0, 1, 5, 7, 12, 14], "manag": [], "enter": [7, 13], "markdown": [7, 8, 12, 13], "basic": [1, 9, 12, 13], "head": [], "embed": 12, "latex": [8, 12], "equat": [12, 14, 15], "imag": [12, 14, 15], "video": [0, 4, 5], "content": [5, 10, 12, 13], "exercis": [], "index": [6, 14], "modul": [6, 9, 10, 14, 15], "search": 6, "page": [5, 6, 10, 11, 12, 13, 14, 15, 16], "The": [0, 1, 4, 5, 7, 8, 12, 13, 14, 15], "lectur": [0, 4, 5], "held": 0, "complet": [0, 5, 10, 12], "onlin": [0, 4, 5], "year": 0, "we": [0, 1, 4, 5, 6, 8, 9, 10, 13, 14, 15], "suppli": 0, "also": [0, 1, 4, 5, 10, 12, 14, 15], "problem": [0, 1], "set": [0, 13, 14, 15, 16], "everi": [0, 4, 5], "week": [0, 4, 5], "all": [0, 1, 5, 12, 14, 15], "student": [0, 1], "come": [0, 4, 14, 15], "jupyt": [0, 1, 5, 7, 8, 9, 10, 13], "notebook": [0, 1, 4, 5, 7, 9, 10, 14, 15, 16], "individu": [0, 1, 10, 12], "pleas": [0, 4, 5], "fill": [0, 14], "answer": 0, "your": [0, 1, 5, 10, 12, 13], "ar": [0, 1, 3, 5, 9, 10, 12, 13, 14, 15], "ask": [0, 5], "return": [0, 10, 12, 14], "befor": [0, 15], "tuesdai": [0, 4], "morn": 0, "you": [0, 1, 3, 4, 5, 8, 9, 10, 12, 13, 14], "receiv": 0, "web": [0, 5, 12], "address": [0, 8, 14], "our": [0, 5, 8], "server": [0, 4, 5, 8, 12], "well": [0, 3, 5, 8, 10, 12, 15], "login": [0, 5, 8], "password": [0, 5, 8], "find": [0, 1, 3, 5, 15], "below": [0, 3, 10, 13, 14, 15], "short": [0, 14, 15], "how": [0, 10, 15], "download": [0, 5], "close": [1, 5, 14, 15], "cours": [1, 3, 5, 6, 7, 15], "an": [1, 4, 5, 8, 10, 12, 13, 14, 15], "form": [1, 10, 12, 14], "final": [1, 12, 14], "project": [1, 5, 10, 15], "shall": [1, 15], "topic": [1, 6, 7, 14], "choic": 1, "one": [1, 6, 10, 13, 14, 15], "provid": [1, 8, 10, 12, 13, 14], "exampl": [1, 10, 14], "hand": 1, "each": [1, 5, 12, 14, 15], "requir": [1, 5, 15], "No": 1, "work": [1, 5, 10, 15], "allow": [1, 5, 12, 13, 14], "follow": [1, 5, 10, 13, 14, 15], "outlin": 1, "introduc": [1, 6], "cover": 1, "motiv": 1, "go": [1, 5, 10, 13, 14, 15], "do": [1, 10, 14, 15], "should": [1, 10], "theoret": 1, "descript": [1, 6, 14], "solv": [1, 14, 15], "result": [1, 12, 14], "discuss": [1, 3, 5, 14], "develop": 1, "anot": 1, "step": [1, 14, 16], "It": [1, 5, 6, 8, 12, 14, 15], "import": [1, 10, 13, 14, 15, 16], "highlight": 1, "consequ": [1, 15], "summari": 1, "summar": 1, "notbook": 1, "grade": [1, 15], "accord": [1, 14], "common": [1, 14], "scheme": 1, "email": [2, 12], "lastnam": 2, "physik": 2, "uni": 2, "leipzig": 2, "de": 2, "prof": 2, "dr": 2, "frank": 2, "cicho": [2, 15], "linn\u00e9str": 2, "5": [2, 13, 14, 15, 16], "04103": 2, "offic": 2, "322": 2, "phone": 2, "0341": 2, "97": 2, "32571": 2, "There": [3, 10, 12, 13, 14, 15], "ton": 3, "addit": [3, 12, 15], "structur": 3, "net": [3, 10], "onli": [3, 10, 14, 15], "veri": [3, 14], "small": [3, 14, 15], "select": [3, 10, 13, 14], "comput": [3, 5, 6, 12, 14], "base": [3, 5, 12, 14, 15], "model": [3, 5, 14], "mona": [3, 5], "forum": [3, 5], "matplotlib": [3, 15, 16], "panda": 3, "scienc": [3, 6], "nice": [3, 10], "updat": [4, 5, 14, 15], "weekli": 4, "thu": [4, 12, 13, 15], "expect": 4, "start": [4, 5, 6, 9, 10, 12], "april": 4, "7th": 4, "1": [4, 10, 13, 14, 16], "30": [4, 7], "pm": [4, 15], "new": [4, 5, 10, 13, 15], "As": [4, 8, 14], "materi": [4, 14, 15], "avail": [4, 12, 13], "can": [4, 5, 9, 10, 12, 13, 14, 15], "back": [4, 12], "studi": 4, "whenev": 4, "suitabl": [4, 14], "add": [4, 10, 12, 16], "explain": [4, 5, 10], "detail": [4, 12], "explor": [4, 5, 6, 9, 14, 15], "especi": 4, "mybind": [4, 5, 13], "thei": [4, 10, 14], "help": [4, 10, 12], "finish": [4, 13], "contain": [5, 6, 12, 14, 15], "inform": [5, 14, 15], "yet": [5, 12, 14], "accompani": [5, 12], "mai": [5, 10, 12], "get": [5, 15], "along": [5, 15], "just": [5, 10, 12, 14, 15], "read": [5, 12], "And": [5, 10], "give": [5, 14, 15], "chanc": 5, "interact": [5, 6, 12, 14, 15], "have": [5, 9, 10, 13, 14, 15], "creat": [5, 9, 10, 12, 14, 15, 16], "which": [5, 10, 12, 13, 14, 15], "reach": [5, 14], "ha": [5, 12, 13, 14, 15], "differ": [5, 12, 13, 14, 15], "categori": 5, "hope": 5, "us": [5, 6, 10, 12, 13, 14, 15], "intens": [5, 15], "question": 5, "guid": 5, "from": [5, 6, 10, 11, 12, 13, 14, 15, 16], "here": [5, 10, 12, 14, 15], "sever": [5, 14], "learn": 5, "program": [5, 12, 14, 15], "therebi": 5, "make": [5, 8, 10, 13, 14, 15, 16], "some": [5, 10, 14], "great": [5, 10], "tool": 5, "like": [5, 10, 12, 13, 14, 15], "servic": [5, 12], "host": 5, "http": [5, 10, 14], "org": [5, 12, 14], "binder": 5, "offer": 5, "easi": [5, 10], "place": 5, "share": [5, 12, 15], "environ": [5, 9, 12], "everyon": 5, "when": [5, 10, 12, 13, 14], "notic": 5, "icon": 5, "indic": [5, 13, 14, 15], "webpag": 5, "rather": 5, "than": [5, 10, 15], "look": [5, 13, 14, 15, 16], "click": [5, 10], "open": [5, 9, 13, 15], "patient": 5, "wait": 5, "until": [5, 13], "temporarili": 5, "If": [5, 10, 12, 13, 14, 15], "show": [5, 12, 13, 14, 15, 16], "inact": 5, "long": 5, "connect": [5, 12, 13], "finsih": 5, "keep": 5, "copi": [5, 13], "ahead": 5, "empti": 5, "github": [5, 12], "com": 5, "collabor": 5, "includ": [5, 10, 12, 14], "version": [5, 12, 13], "control": [5, 10, 12, 13, 14, 15], "In": [5, 6, 10, 13], "upper": 5, "right": [5, 10, 13, 14, 15, 16], "corner": [5, 13], "link": [5, 10], "repositori": 5, "anaconda": 5, "packag": 5, "www": 5, "distribut": 5, "privid": 5, "want": [5, 10, 14, 15], "home": 5, "without": [5, 8, 12, 15], "access": [5, 10], "good": [5, 10], "instal": [5, 12], "languag": [9, 10, 12], "kind": [], "scientif": [], "engin": [], "task": [], "analyz": [], "plot": [12, 14, 15, 16], "data": [9, 12], "numer": [], "difficult": [14, 15], "even": 14, "imposs": [], "analyt": [], "freeli": [], "been": 13, "due": 15, "its": [10, 12, 14], "modular": [], "extend": [], "nearli": [], "infinit": [], "number": [14, 15], "purpos": [], "intend": [], "aim": [], "more": [6, 10, 13, 14, 15], "beginn": [], "advanc": [6, 13, 14], "user": [12, 13], "interest": [14, 15], "throughout": [], "function": [10, 14, 15], "curv": [14, 15], "fit": [], "write": [10, 12, 15], "file": 12, "encount": [], "dure": [], "anim": [], "insid": [], "simul": 10, "process": [12, 13], "mechan": [14, 15], "electrostat": [], "wave": [6, 7, 14], "quantum": 15, "optic": 6, "At": [], "end": [10, 14, 15], "machin": [], "now": [10, 14, 15], "becom": 10, "present": [], "comprehens": [], "list": [8, 10], "stimul": [], "curios": [], "slight": [], "syntax": [], "alwai": [14, 15], "refer": [], "3": [10, 14, 16], "standard": [], "experiment": 7, "iii": 7, "deal": 7, "two": [7, 10, 13, 14, 15], "major": 7, "electromagnet": [6, 7, 14], "particl": [7, 15], "environn": 7, "00": [7, 9], "05": 7, "09": [7, 9], "43": 7, "16": 7, "15": [7, 9, 15], "first": [8, 10, 14, 15], "jupyterhub": 8, "ip": 8, "yourself": 8, "familiar": 8, "interfac": [8, 12, 13, 14, 15], "correspond": [8, 14], "classic": [8, 15], "ani": [8, 12, 13, 14], "tab": [8, 10, 12], "string": 8, "dictionari": 8, "after": [9, 15], "hopefulli": 9, "abl": [9, 13], "variabl": [9, 15], "type": [9, 10, 12, 13, 14], "01": [9, 15], "23": 9, "oper": [9, 13], "comparison": 9, "42": 9, "22": [9, 15], "namespac": [9, 10], "45": [9, 15], "03": [9, 15], "wa": [10, 11, 12, 13, 14, 15, 16], "gener": [6, 10, 11, 12, 13, 16], "intro": [10, 11, 12, 13], "editcel": 10, "ipynb": [10, 11, 12, 13, 14, 15, 16], "pretti": 10, "cell": [10, 12, 13], "multipl": 10, "line": [10, 15], "press": [10, 13], "block": 10, "identifi": [10, 14], "belong": [10, 14, 15], "togeth": [10, 14], "ident": 10, "longer": 10, "later": [10, 14], "To": 10, "indent": 10, "either": 10, "whitespac": 10, "comment": 10, "ad": 10, "annot": 10, "someon": 10, "els": [10, 14, 15], "understand": [10, 12], "singl": [6, 10, 14, 15], "charact": 10, "front": 10, "over": [10, 12, 14], "same": [10, 15], "docstr": 10, "text": [10, 12, 13, 14, 15], "2": [10, 14, 15, 16], "typic": [10, 15], "def": [10, 14, 15], "x": [10, 13, 14, 15], "calcul": [10, 15], "argument": 10, "float": 10, "integ": [10, 14], "valu": [10, 14], "y": [10, 13, 14, 15], "time": [10, 14, 15], "don": [10, 12], "t": [10, 12, 13, 14, 15], "forget": 10, "__main__": 10, "extrem": 10, "wai": [10, 12, 14, 15], "everyth": 10, "realli": [10, 14], "chang": [10, 13, 14, 15], "action": 10, "menu": [10, 13], "hardwar": [10, 13], "shortcut": [10, 13], "m": [10, 13, 14], "popular": 10, "markup": [10, 12], "superset": 10, "html": [10, 12, 14], "Its": 10, "specif": [10, 12, 14], "found": 10, "daringfirebal": 10, "render": [10, 12, 13], "unrend": 10, "see": [10, 13, 14], "format": [10, 12, 15], "represent": [10, 12], "": [10, 12, 13, 14], "raw": [10, 12, 13], "sourc": [10, 14, 15], "button": [10, 13], "shift": [10, 13, 15], "doubl": 10, "appear": 10, "put": 10, "ital": 10, "bold": 10, "build": 10, "nest": 10, "item": 10, "enumer": 10, "subitem": 10, "subsubitem": 10, "second": [10, 14, 15], "third": [10, 15], "anoth": [10, 13, 14], "sublist": 10, "blockquot": 10, "beauti": 10, "better": 10, "ugli": 10, "explicit": 10, "implicit": 10, "simpl": [6, 10, 12, 15], "complex": [6, 10, 14, 15], "complic": 10, "flat": 10, "spars": 10, "dens": 10, "readabl": 10, "count": 10, "special": [10, 14, 15], "case": [10, 14, 15], "aren": 10, "enough": 10, "break": [10, 14], "rule": 10, "although": 10, "practic": 10, "beat": [10, 15], "puriti": 10, "error": [10, 15], "never": 10, "pass": [10, 14], "silent": 10, "unless": 10, "explicitli": 10, "silenc": 10, "face": 10, "ambigu": 10, "refus": 10, "temptat": 10, "guess": 10, "prefer": 10, "obviou": 10, "re": [10, 15], "dutch": 10, "often": [10, 15], "implement": 10, "hard": 10, "bad": 10, "idea": 10, "honk": 10, "let": [10, 15], "those": 10, "shorthand": 10, "space": [10, 15], "emb": 10, "meant": [10, 12], "illustr": 10, "instead": 10, "execut": [10, 12, 13], "f": [10, 14], "other": [10, 12, 14, 15], "0": [10, 13, 14, 15, 16], "n": [10, 14, 15], "printf": 10, "hello": 10, "d": [10, 13, 14, 15], "4": [10, 14, 16], "courtesi": 10, "mathjax": 10, "mathemat": [10, 14, 15], "express": [10, 14, 15], "both": [10, 15], "inlin": 10, "e": [10, 13, 14, 15], "pi": [10, 14, 15], "displai": [10, 12, 14], "sum_": [10, 14, 15], "infti": [10, 15], "frac": [10, 14, 15], "surround": 10, "own": [10, 12], "directli": 10, "integr": [10, 14, 15], "altern": 10, "url": [10, 12], "src": [10, 14], "mov": 10, "movi": 10, "mp4": 10, "width": [10, 14, 15], "320": 10, "height": [10, 14], "200": [10, 14], "preload": 10, "store": 10, "local": [10, 15], "youtub": 10, "ipython": [10, 14], "9": [10, 14, 15], "youtubevideo": 10, "qllx32jugzi": 10, "600": [10, 15], "introduction2jupyt": 12, "A": [12, 13, 15], "browser": 12, "enabl": 12, "These": [12, 14], "self": 12, "record": 12, "convert": 12, "variou": 12, "system": [12, 14, 15], "git": 12, "nbviewer": 12, "combin": 12, "three": [12, 15], "compon": [12, 14], "applic": [6, 12, 14], "desktop": 12, "separ": [12, 13, 15], "given": [12, 14, 15], "output": 12, "handl": 12, "thing": 12, "widget": [12, 14, 15], "introspect": 12, "visibl": 12, "input": 12, "rich": 12, "media": [6, 12], "object": [12, 14, 15], "brows": 12, "individual": 12, "arbitrari": 12, "oder": [12, 14, 15], "png": 12, "svg": [12, 14], "pdf": 12, "javascript": [12, 14], "bind": 12, "visual": [12, 14], "reactiv": 12, "side": [12, 15], "bound": 12, "almost": 12, "dedic": [12, 13], "100": [12, 13, 14], "julia": 12, "r": [12, 13, 14, 15], "rubi": 12, "haskel": 12, "scala": 12, "mani": [6, 12, 13, 14, 15], "default": 12, "pick": 12, "commun": 12, "json": 12, "zeromq": 12, "websocket": 12, "messag": 12, "protocol": 12, "describ": [12, 14, 15], "most": [12, 13, 15], "need": [12, 14, 15], "know": [12, 14], "about": 12, "session": 12, "filesystem": 12, "extens": 12, "easili": 12, "consist": 12, "linear": [6, 12, 14], "sequenc": 12, "live": 12, "narr": 12, "unformat": 12, "modif": 12, "nbconvert": 12, "intern": 12, "binari": 12, "encod": 12, "base64": 12, "them": [12, 14], "manipul": [6, 12, 13], "programmat": 12, "export": 12, "static": 12, "restructeredtext": 12, "slide": 12, "reveal": 12, "j": [12, 13, 14, 15], "util": 12, "furthermor": 12, "public": 12, "via": 12, "load": 12, "notebookeditor": 13, "essenti": 13, "where": [13, 14], "jupyterlab": 13, "blue": [13, 14, 15], "border": 13, "prompt": 13, "area": 13, "normal": [13, 14, 15], "grei": 13, "io": 13, "devic": 13, "modal": 13, "optim": 13, "effici": 13, "usag": 13, "made": [13, 15], "possibl": [13, 15], "activ": 13, "rel": [13, 15], "few": 13, "entir": 13, "so": [13, 15], "ones": 13, "switch": 13, "mod": 13, "esc": 13, "k": [13, 14, 15], "current": [13, 15], "save": 13, "insert": [13, 14, 15], "abov": [13, 14, 15], "b": [13, 15], "pasteboard": 13, "cut": 13, "c": [13, 14, 15], "v": [13, 15], "past": 13, "delet": 13, "z": [13, 14, 15], "undo": 13, "interrupt": 13, "restart": 13, "bottom": 13, "panel": 13, "10": [13, 14, 15], "print": 13, "coupl": [13, 15], "move": 13, "option": [13, 16], "call": [13, 14, 15], "top": [13, 14], "report": 13, "state": [13, 14, 15], "mean": [13, 14, 15], "readi": 13, "busi": 13, "tap": 13, "reconnect": 13, "try": [13, 15], "won": 13, "l1": [14, 15, 16], "1_ray_opt": 14, "ipywidget": [14, 15], "pyplot": [15, 16], "plt": [14, 15, 16], "numpi": 15, "np": [14, 15], "deliv": 14, "simplest": [14, 15], "light": [6, 14], "propag": [6, 14, 15], "despit": 14, "simplif": 14, "power": [6, 14, 15], "howev": 14, "doe": 14, "insight": 14, "govern": 14, "geometr": 14, "therefor": [14, 15], "assumpt": [14, 15], "travel": [14, 15], "emit": [14, 15], "detect": [14, 15], "detector": [14, 15], "effect": 14, "medium": 14, "c_": [14, 15], "take": [14, 15], "distanc": [14, 15], "nd": [14, 15], "amount": [14, 15], "path": [14, 15], "length": [14, 15], "satisfi": [14, 15], "neither": 14, "speed": [14, 15], "nor": 14, "someth": 14, "consid": 14, "infer": 14, "observ": 14, "figur": [14, 15, 16], "angl": [14, 15, 16], "incid": [14, 15], "equal": [14, 15, 16], "begin": [14, 15], "theta_": [14, 15], "n_": [14, 15], "sin": [14, 15], "known": [14, 15], "snell": [14, 15], "relat": [14, 15], "theta_1": [14, 15], "theta_2": [14, 15], "With": [14, 15], "situat": [14, 15], "occur": [14, 15], "total": [], "fig": [14, 15, 16], "ax": [14, 15, 16], "subplot": [14, 15, 16], "figsiz": [14, 15], "canva": [14, 15], "header_vis": [14, 15], "fals": [14, 15], "n1": [14, 15], "n2": [14, 15], "90": [14, 15, 16], "remov": [14, 15], "old": 15, "cla": 15, "theta1": [14, 15, 16], "180": [15, 16], "theta2": [15, 16], "arcsin": [14, 15], "set_titl": [14, 15], "axvlin": [14, 15], "l": 15, "04": 15, "n_2": [14, 15], "n_1": [14, 15], "round": 15, "axhlin": 15, "color": [14, 15], "lw": 15, "quiver": 15, "co": [14, 15], "scale": 15, "pivot": 15, "tip": 15, "red": 15, "lens": [14, 15], "surfac": [14, 15], "depend": [14, 15], "posit": [14, 15], "2d": [14, 15], "circular": [14, 15], "diagram": [14, 15], "definit": [14, 15], "alpha": [14, 15], "delta": [14, 15], "tan": [14, 15], "z_2": [14, 15], "z_1": [14, 15], "gamma": 15, "approx": [14, 15], "replac": 15, "n_2r": [14, 15], "conjug": 15, "plane": 15, "quad": [14, 15], "rightarrow": [14, 15], "yz_2": [14, 15], "left": [14, 15], "z_2y": [14, 15], "independ": 15, "up": [14, 15], "point": [14, 15], "foundat": [6, 14, 15], "biconvex": 15, "len": [], "appli": [14, 15], "formula": 15, "twice": 15, "theta_t": [14, 15], "nr_1": [14, 15], "r_2": [14, 15], "r_1": [14, 15], "maker": [14, 15], "tell": [14, 15], "radii": [14, 15], "flip": [14, 15], "sign": [14, 15], "sinc": [14, 15], "direct": [14, 15], "y_2": [14, 15], "y_1": [14, 15], "magnif": [14, 15], "limit": [14, 15], "paraxi": [14, 15], "approxim": [14, 15], "6": [14, 15], "120": [14, 15], "dot": [14, 15], "ll": [14, 15], "rm": [14, 15], "radian": [14, 15], "true": [14, 15], "microscopi": [6, 14, 15], "80": [14, 15], "still": [14, 15], "lecture1": 15, "2020": 15, "violat": 15, "primari": 15, "abber": 15, "classif": 15, "seidel": 15, "1821": 15, "1896": 15, "coma": [14, 15], "astigmat": [14, 15], "field": [6, 15], "curvatur": [14, 15], "distort": 15, "2z_1": 15, "chromat": 15, "measur": 15, "correct": 15, "shape": [14, 15], "nowadai": 15, "adapt": [6, 15], "spatial": 15, "max": [14, 15], "larger": [14, 15], "solut": 15, "theta_c": [14, 15], "glass": [14, 15], "41": [14, 15], "8": [14, 15], "water": 15, "48": 15, "7": 15, "diamond": 15, "24": 15, "h": 15, "_2": 15, "o": 15, "33": 15, "loss": 15, "central": 15, "core": 15, "clad": 15, "lower": [14, 15], "low": 15, "multimod": 15, "gradient": 15, "mostli": 15, "silica": 15, "sio": 15, "44": 15, "46": 15, "001": 15, "02": 15, "overlin": 15, "phi": [14, 15], "theta": 15, "theta_a": 15, "sqrt": [14, 15], "na": 15, "qquad": 15, "ay_1": 15, "cy_1": 15, "arrai": [14, 15], "rr": 15, "transfer": 15, "bmatrix": 15, "convex": 15, "concav": 15, "whole": 15, "precalcul": 15, "matric": 15, "element": 15, "m_nm_": 15, "m_1": 15, "rememb": 15, "free": 15, "perfect": 15, "cloack": 15, "appar": 15, "immit": 15, "condit": 15, "afoc": 15, "except": 15, "nbsphinx": 15, "math": [14, 15], "f_2": 15, "f_1": 15, "f_1f_2": 15, "f_3": 15, "t_2": 15, "t_1": 15, "four": 15, "t_1t_2": 15, "t_4": 15, "f_4": 15, "t_3": 15, "2t_1": 15, "2f_2": 15, "vec": 15, "op": 15, "int_a": 15, "mathrm": 15, "taken": 15, "proporton": 15, "extremum": 15, "neighbor": 15, "minimum": 15, "maximum": 15, "inflect": 15, "usual": 15, "pmatrix": 15, "y_0": 15, "opl": 15, "split": 15, "l_1": 15, "l_2": 15, "beta": 15, "equiv": 15, "2r_2": 15, "2f": [14, 15], "must": 15, "converg": 15, "global": 15, "nabla": 15, "trajectori": 15, "variat": [14, 15], "calculu": 15, "dx": 15, "partial": 15, "dy": 15, "dz": 15, "hspace": 15, "9cm": 15, "parametr": 15, "const": 15, "straight": 15, "selfoc": 15, "n_0": 15, "2y": 15, "parabol": 15, "profil": 15, "theta_0": 15, "squar": 15, "potenti": 15, "magnifi": 15, "simplifi": 15, "behind": 15, "virtual": 15, "real": 15, "construct": 15, "2x": 15, "da": 15, "aa": 15, "cosh": 15, "sinh": 15, "x_": 15, "y_": 15, "check": [14, 15], "veloc": 15, "horizont": 15, "n_h": 15, "newton": 15, "dt": 15, "u": 15, "coulomb": 15, "q": 15, "epsilon_0": 15, "r_": 15, "rf": 15, "chi": 15, "photon": 15, "prf": 15, "zeta": 15, "hbar": 15, "lambda": 15, "_k": 15, "wavelength": 15, "character": 15, "c_0": 15, "2u": 15, "superposit": 15, "u_1": 15, "u_2": 15, "a_1u_1": 15, "a_2u_2": 15, "langl": 15, "rangl": 15, "averag": 15, "cycl": 15, "nm": 15, "omega": 15, "amplitud": 15, "frequenc": [14, 15], "nu": 15, "phase": 15, "helmholtz": 15, "arg": 15, "wavefront": [14, 15], "ikr": 15, "outward": 15, "inward": 15, "_0": 15, "origin": [14, 15], "fresnel": 15, "axi": [14, 15], "taylor": 15, "align": 15, "2z": 15, "ikz": 15, "ik": 15, "kz": 15, "4z": 15, "n_f": 15, "2_m": 15, "theta_m": 15, "wavevector": 15, "nk_0": 15, "stai": 15, "lambda_0": 15, "_1": 15, "k_": 15, "1x": 15, "k_1": 15, "k_2": 15, "1z": 15, "_3": 15, "n_1k_0": 15, "k_3": 15, "n_2k_0": 15, "3x": 15, "tangenti": 15, "conserv": 15, "repres": [14, 15], "ik_0": 15, "label": [14, 15], "magnitud": 15, "k_0": 15, "ref": 15, "2a": 15, "imaginari": 15, "part": 15, "zero": 15, "indenpend": 15, "vari": 15, "slowli": 15, "eikon": 15, "proport": 15, "transmitt": 15, "ikd": 15, "thick": 15, "air": [14, 15], "d_0": 15, "h_0": 15, "ik_0d_0": 15, "valid": 15, "big": 15, "2r": 15, "ink_0d_0": 15, "constant": 15, "transform": [14, 15], "paraboloid": 15, "center": [15, 16], "diffract": 15, "grate": 15, "transmit": 15, "sampl": 15, "mu": 15, "camera": 15, "_": 15, "cam": 15, "int": 15, "i2": 15, "prime": 15, "contrast": 15, "dpc": 15, "i_t": 15, "i_b": 15, "superpos": 15, "i_1": 15, "i_2": 15, "u_1u_2": 15, "phi_1": 15, "phi_2": 15, "i_1i_2": 15, "i_0": 15, "i_": 15, "min": [14, 15], "translat": 15, "2i_0": 15, "exist": 15, "monochromat": 15, "u_m": 15, "i_3": 15, "between": 15, "seri": [6, 15], "im": 15, "peak": 15, "bar": 15, "mi_0": 15, "hu_1": 15, "u_3": 15, "2u_1": 15, "4r": 15, "ge": 15, "tild": 15, "finess": 15, "mathcal": 15, "simeq": 15, "2nd": 15, "spectral": 15, "rang": [14, 15], "interfer": 15, "laser": 15, "caviti": 15, "fabri": 15, "perot": 15, "interferomet": 15, "digit": 15, "holographi": 15, "track": 15, "domain": 15, "nu_1": 15, "nu_2": 15, "odd": 15, "2l": 15, "nu_q": 15, "nu_0": 15, "nu_f": 15, "interval": 15, "sum": [14, 15], "phasor": 15, "again": 15, "nu_ft": 15, "t_f": 15, "puls": 15, "ghz": 15, "1000": [14, 15], "lock": 15, "tau": 15, "comb": 15, "far": 15, "u_0": 15, "envelop": 15, "nabla_t": 15, "i2k": 15, "helmholz": 15, "2_t": 15, "a_1": 15, "rho": [14, 15], "xi": 15, "iz_0": 15, "z_0": 15, "rayleigh": 15, "w": 15, "radiu": [14, 15, 16], "a_0": 15, "w_0": 15, "paramet": 15, "perp": 15, "gg": 15, "invers": 15, "int_0": 15, "within": 15, "certain": [14, 15], "rho_0": 15, "86": 15, "99": 15, "waist": 15, "spot": 15, "size": 15, "theta_0z": 15, "increas": 15, "linearli": 15, "larg": 15, "diverg": 15, "simlarli": 15, "slit": 15, "heisenberg": 15, "depth": 15, "focu": 15, "2z_0": 15, "additon": 15, "retard": 15, "guoi": 15, "v_p": 15, "arctan": 15, "2_0": 15, "mw_0": 15, "locat": [14, 15], "m_r": 15, "q_2": 15, "aq_1": 15, "cq_1": 15, "abcd": 15, "q_1": 15, "focus": 15, "2_2": 15, "w_2": 15, "focal": 15, "non": [6, 14, 15], "g": 15, "u_": 15, "h_m": 15, "h_n": 15, "hermit": 15, "polynomi": 15, "h_1": 15, "20": 15, "h_2": 15, "wavefunct": 15, "mirror": 15, "l_p": 15, "il": 15, "2p": 15, "laguerr": 15, "radial": [14, 15], "azimuth": [14, 15], "neg": [14, 15], "helic": 15, "topolog": 15, "charg": 15, "gauss": 15, "electr": 15, "magnet": 15, "vector": 15, "maxwel": 15, "varepsilon_0": 15, "mu_0": 15, "36": 15, "permitt": 15, "permeabl": 15, "varepsilon": 15, "alreadi": [14, 15], "_0e": 15, "transvers": 15, "energi": 15, "densiti": 15, "u_b": 15, "flow": [6, 15], "poynt": 15, "rangle_t": 15, "e_0": 15, "eta_0": 15, "mu_0c_0": 15, "377": 15, "imped": 15, "vacuum": 15, "radiat": 15, "pressur": 15, "electron": 15, "cloud": 15, "displac": 15, "against": 15, "nucleu": 15, "dipol": 15, "elementari": 15, "11": 15, "75": 15, "13": 15, "mm": 15, "atom": 15, "glanc": 15, "per": 15, "unit": [14, 15], "volum": 15, "hat": 15, "g_b": 15, "oint_": 15, "q_b": 15, "int_v": 15, "dv": 15, "rho_b": 15, "nq": 15, "flux": 15, "assum": [14, 15], "rest": 15, "orient": 15, "ionic": 15, "degener": 15, "propto": 15, "histori": 15, "p_i": 15, "sum_j": 15, "chi_": 15, "ij": 15, "e_j": 15, "d_i": 15, "varepsilon_": 15, "int_": 15, "a_2": 15, "a_3": 15, "e_": 15, "e_a": 15, "delai": 15, "nfrac": 15, "sim": 15, "plate": 15, "suscept": 15, "scalar": 15, "varepsilon_r": 15, "damp": 15, "harmon": 15, "oscil": 15, "ddot": 15, "sigma": 15, "omega_0": 15, "x_0": 15, "respons": 15, "eta": 15, "q_e": 15, "nq_e": 15, "polariz": 15, "chi_0": 15, "treatment": 15, "ne": 15, "f_j": 15, "omega_j": 15, "sigma_j": 15, "strength": 15, "f_": 15, "12": [14, 15], "m_l": 15, "hbar\u00b2": 15, "e_2": 15, "e_1": 15, "lorentz": 15, "kappa": 15, "2i": 15, "2k_0": 15, "coeffici": 15, "weakli": 15, "absorb": 15, "dn": 15, "intim": 15, "stem": 15, "polarizazit": 15, "a_x": 15, "_x": 15, "a_i": 15, "_y": 15, "phi_x": 15, "phi_i": 15, "e_x": 15, "e_i": 15, "e_xe_i": 15, "a_xa_i": 15, "half": 15, "2a_xa_i": 15, "circ": 15, "ellipt": 15, "neq": 15, "formal": 15, "j_1": 15, "j_2": 15, "a_": 15, "1y": 15, "determin": 15, "under": [14, 15], "rai": 6, "facet": 6, "research": 6, "involv": [6, 14], "propgat": 6, "fundament": 6, "matter": 6, "disord": 6, "quanta": 6, "superresolut": 6, "fastest": 6, "grow": 6, "fourier": 6, "anisotrop": 6, "lai": 6, "patch": 16, "defin": [14, 16], "arc": 16, "degre": [14, 16], "add_patch": 16, "aspect": 16, "set_aspect": 16, "set_xlim": 16, "set_ylim": 16, "draw": 14, "further": 14, "hit": 14, "nonlinear": 14, "angular": 14, "obtain": 14, "expand": 14, "bracket": 14, "lead": 14, "note": 14, "seen": 14, "latter": 14, "actual": 14, "level": 14, "deriv": 14, "orthonorm": 14, "wide": 14, "did": 14, "disk": 14, "particularli": 14, "becaus": 14, "orthogon": 14, "inner": 14, "product": 14, "circl": 14, "decompos": 14, "polar": 14, "coordin": 14, "z_n": 14, "r_n": 14, "geq": 14, "leq": 14, "2k": 14, "method": 14, "being": 14, "noll": 14, "pair": 14, "order": 14, "ophthalmologi": 14, "human": 14, "ey": 14, "decomposit": 14, "simpler": 14, "defocu": 14, "etc": 14, "radial_polynomi": 14, "zeros_lik": 14, "ab": 14, "factori": 14, "zernike_polynomi": 14, "linspac": 14, "400": 14, "xx": 14, "yy": 14, "meshgrid": 14, "arctan2": 14, "mask": 14, "nan": 14, "flatten": 14, "imshow": 14, "extent": 14, "off": 14, "tight_layout": 14, "spherical_surfac": 16, "outgo": 14, "characterist": 14, "onto": 14, "revers": 14, "anymor": 14, "out": 14, "phenomenon": 14, "fantast": 14, "54": 14, "snell_law": 14, "theta1_degre": 14, "theta1_radian": 14, "sin_theta2": 14, "theta2_radian": 14, "n1_glass": 14, "n2_air": 14, "theta2_glass_to_air": 14, "dpi": 14, "150": 14, "linestyl": 14, "critic": 14, "\u03b8c": 14, "xlabel": 14, "\u03b8_1": 14, "ylabel": 14, "\u03b8_2": 14, "xlim": 14, "ylim": 14, "grid": 14, "61": 14, "62": [], "html_code": 14, "id": 14, "mycanva": [], "style": 14, "1px": [], "solid": [], "000000": [], "support": [], "html5": [], "tag": [], "script": 14, "var": 14, "getelementbyid": [], "ctx": [], "getcontext": [], "rectangl": [], "fillstyl": [], "0000ff": [], "fillrect": [], "63": [], "mybutton": [], "me": [], "handlebuttonclick": [], "alert": [], "addeventlisten": [], "64": [], "createel": [], "cdnj": [], "cloudflar": [], "ajax": [], "lib": [], "d3": 14, "appendchild": [], "consol": [], "log": [], "window": [], "65": [], "svg_script": [], "append": 14, "attr": 14, "300": [], "stroke": [], "grai": [], "cyan": [], "130": [], "cx": 14, "cy": 14, "transit": [], "durat": [], "10000": [], "69": [], "load_d3_in_cell_output": 14, "d3j": 14, "v6": 14, "get_ipython": 14, "event": 14, "regist": 14, "pre_run_cel": 14, "70": [], "div": 14, "ensur": [], "50": 14, "89": [], "92": [], "290": [], "eas": [], "easelinear": [], "102": 14, "103": 14, "floatslid": 14, "update_circle_radiu": 14, "slider": 14, "continuous_upd": 14, "callback": 14, "initi": 14}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"welcom": 6, "experiment": [], "physik": [], "3": 15, "cours": 4, "inform": [], "jupyt": 12, "notebook": [11, 12, 13], "lectur": [6, 9], "1": [6, 8, 15], "indic": 6, "tabl": 6, "assign": 0, "exam": 1, "instructor": 2, "resourc": 3, "molecular": 3, "nanophoton": 3, "group": 3, "python": 3, "document": [3, 12], "tutori": 3, "schedul": 4, "thi": 5, "websit": 5, "introduct": [6, 12], "photon": 6, "overview": 7, "exercis": 8, "content": 9, "enter": 10, "code": [10, 13], "markdown": 10, "basic": 10, "head": 10, "embed": 10, "latex": 10, "equat": 10, "imag": 10, "video": 10, "an": 11, "empti": 11, "what": [12, 15], "i": 12, "editor": [12, 13], "kernel": [12, 13], "edit": 13, "mode": 13, "command": 13, "keyboard": 13, "navig": 13, "run": 13, "manag": 13, "gener": [14, 15], "optic": [14, 15], "rai": [14, 15], "law": [14, 15], "reflect": [14, 15], "refract": [14, 15], "spheric": [14, 15], "boundari": [14, 15], "geometr": 15, "total": [14, 15], "intern": [14, 15], "guid": 15, "light": 15, "fiber": 15, "step": 15, "index": 15, "meridion": 15, "skew": 15, "numer": 15, "apertur": 15, "matrix": 15, "For": 15, "exampl": 15, "cloak": 15, "fermat": 15, "": 15, "principl": 15, "thin": 15, "len": [14, 15], "formul": 15, "differenti": 15, "form": 15, "compon": 15, "grin": 15, "you": 15, "should": 15, "know": 15, "mirag": 15, "effect": 15, "over": 15, "hot": 15, "street": 15, "bf": 15, "f": 15, "m": 15, "cdot": 15, "correspond": 15, "quantiti": 15, "momentum": 15, "tweezer": 15, "wave": 15, "gaussian": 15, "beam": 15, "propierti": 15, "transmiss": 15, "through": 15, "higher": 15, "order": 15, "cylindr": 15, "coordin": 15, "electromagnet": 15, "dielectr": 15, "media": 15, "linear": 15, "nondispers": 15, "homogen": 15, "isotrop": 15, "inhomogen": 15, "anisotrop": 15, "dispers": 15, "nonlinear": 15, "microscop": 15, "model": 15, "p": 15, "reson": 15, "medium": 15, "absorpt": 15, "kramer": 15, "kronig": 15, "4": 15, "polar": 15, "conjug": 14, "plane": 14, "biconvex": 14, "aberr": 14, "character": 14, "zernik": 14, "polynomi": 14}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 57}, "alltitles": {"Assignments": [[0, "assignments"]], "Exams": [[1, "exams"]], "Instructor": [[2, "instructor"]], "Resources": [[3, "resources"]], "Molecular Nanophotonics Group": [[3, "molecular-nanophotonics-group"]], "Python Documentation": [[3, "python-documentation"]], "Python Tutorials": [[3, "python-tutorials"]], "Course Schedule": [[4, "course-schedule"]], "This Website": [[5, "this-website"]], "Overview": [[7, "overview"]], "Exercise 1": [[8, "exercise-1"]], "Lecture Contents": [[9, "lecture-contents"]], "Entering code": [[10, "Entering-code"]], "Entering Markdown": [[10, "Entering-Markdown"]], "Markdown basics": [[10, "Markdown-basics"]], "Headings": [[10, "Headings"]], "Embedded code": [[10, "Embedded-code"]], "LaTeX equations": [[10, "LaTeX-equations"]], "Images": [[10, "Images"]], "Videos": [[10, "Videos"]], "An empty notebook": [[11, "An-empty-notebook"]], "Introduction to Jupyter": [[12, "Introduction-to-Jupyter"]], "What is Jupyter Notebook?": [[12, "What-is-Jupyter-Notebook?"]], "Notebook editor": [[12, "Notebook-editor"], [13, "Notebook-editor"]], "Kernels": [[12, "Kernels"]], "Notebook documents": [[12, "Notebook-documents"]], "Edit mode": [[13, "Edit-mode"]], "Command mode": [[13, "Command-mode"]], "Keyboard navigation": [[13, "Keyboard-navigation"]], "Running code": [[13, "Running-code"]], "Managing the kernel": [[13, "Managing-the-kernel"]], "Welcome to the Introduction to Photonics 1!": [[6, "welcome-to-the-introduction-to-photonics-1"]], "Lecture 1:": [[6, null]], "Indices and tables": [[6, "indices-and-tables"]], "General Optics": [[14, "General-Optics"]], "Ray Optics": [[14, "Ray-Optics"]], "Law of reflection": [[14, "Law-of-reflection"], [15, "Law-of-reflection"]], "Law of refraction": [[14, "Law-of-refraction"], [15, "Law-of-refraction"]], "Refraction on spherical boundary": [[14, "Refraction-on-spherical-boundary"], [15, "Refraction-on-spherical-boundary"]], "Conjugated Planes": [[14, "Conjugated-Planes"]], "Biconvex Lens": [[14, "Biconvex-Lens"]], "Aberration Characterization and Zernike Polynomials": [[14, "Aberration-Characterization-and-Zernike-Polynomials"]], "Total Internal Reflection": [[14, "Total-Internal-Reflection"]], "1. General Optics": [[15, "1.-General-Optics"]], "Geometrical Optics": [[15, "Geometrical-Optics"]], "Total internal reflection": [[15, "Total-internal-reflection"]], "Guiding light fibers": [[15, "Guiding-light-fibers"]], "Step-index fiber": [[15, "Step-index-fiber"]], "Meridional ray": [[15, "Meridional-ray"]], "Skewed ray": [[15, "Skewed-ray"]], "Numerical aperture": [[15, "Numerical-aperture"]], "Matrix Optics": [[15, "Matrix-Optics"], [15, "id5"]], "For example: Optical cloaking": [[15, "For-example:-Optical-cloaking"]], "Fermat\u2019s Principle": [[15, "Fermat's-Principle"]], "Refraction": [[15, "Refraction"]], "Thin lens": [[15, "Thin-lens"]], "Formulation of Fermat\u2019s principle": [[15, "Formulation-of-Fermat's-principle"]], "Differential form in components": [[15, "Differential-form-in-components"]], "GRIN lens": [[15, "GRIN-lens"]], "What you should know:": [[15, "What-you-should-know:"]], "Mirage effect over a hot street": [[15, "Mirage-effect-over-a-hot-street"]], "{\\bf F = m \\cdot a} optics": [[15, "{\\bf-F-=-m-\\cdot-a}-optics"]], "Corresponding quantities": [[15, "Corresponding-quantities"]], "Ray optics and momentum": [[15, "Ray-optics-and-momentum"]], "Optical Tweezers": [[15, "Optical-Tweezers"]], "Wave Optics": [[15, "Wave-Optics"]], "Gaussian beam": [[15, "Gaussian-beam"]], "Propierties": [[15, "Propierties"]], "Transmission through a lens": [[15, "Transmission-through-a-lens"]], "Higher order Gaussian beams": [[15, "Higher-order-Gaussian-beams"]], "Cylindrical coordinates": [[15, "Cylindrical-coordinates"]], "1.3 Electromagnetic Optics": [[15, "1.3-Electromagnetic-Optics"]], "Dielectric media": [[15, "Dielectric-media"]], "linear media": [[15, "linear-media"]], "nondispersive media": [[15, "nondispersive-media"]], "homogeneous media": [[15, "homogeneous-media"]], "isotropic media": [[15, "isotropic-media"]], "inhomogeneous media": [[15, "inhomogeneous-media"]], "anisotropic media": [[15, "anisotropic-media"]], "dispersive media": [[15, "dispersive-media"]], "nonlinear media": [[15, "nonlinear-media"]], "Linear, nondispersive, homogeneous, isotropic media": [[15, "Linear,-nondispersive,-homogeneous,-isotropic-media"]], "microscopic model of P": [[15, "microscopic-model-of-P"]], "resonant medium": [[15, "resonant-medium"]], "dispersion": [[15, "dispersion"]], "absorption and dispersion": [[15, "absorption-and-dispersion"]], "Kramers\u2013Kronig": [[15, "Kramers\u2013Kronig"]], "1.4 Polarization Optics": [[15, "1.4-Polarization-Optics"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/source/notebooks/L1/.ipynb_checkpoints/1_ray_optics-checkpoint.ipynb b/source/notebooks/L1/.ipynb_checkpoints/1_ray_optics-checkpoint.ipynb index ec85e02..c2e94fa 100644 --- a/source/notebooks/L1/.ipynb_checkpoints/1_ray_optics-checkpoint.ipynb +++ b/source/notebooks/L1/.ipynb_checkpoints/1_ray_optics-checkpoint.ipynb @@ -130,12 +130,48 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 102, "id": "fbf42d2d-ba72-4d79-b251-bf343a9c054c", "metadata": { "tags": [] }, "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "text/html": [ @@ -184,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 103, "id": "a7043a8d-8a5a-4b0a-9ec3-3c61e77665b1", "metadata": { "tags": [] @@ -241,33 +277,70 @@ { "data": { "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81c9708e657a43299356d6d746905d25", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(FloatSlider(value=50.0, continuous_update=False, description='Radius:', min=10.0, step=1…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", "
\n", + "\n", "\n" ], "text/plain": [ @@ -279,35 +352,51 @@ } ], "source": [ - "%%html\n", + "from ipywidgets import interact, FloatSlider\n", + "from IPython.display import display, HTML, Javascript\n", + "\n", + "# Define the function to update the circle radius\n", + "def update_circle_radius(radius):\n", + " display(Javascript(f\"\"\"\n", + " (function() {{\n", + " var circle = d3.select(\"#d3-circle\");\n", + " if(circle) circle.attr(\"r\", {radius});\n", + " }})();\n", + " \"\"\"))\n", + "\n", + "# Create the slider widget\n", + "slider = FloatSlider(\n", + " value=50,\n", + " min=10,\n", + " max=100,\n", + " step=1,\n", + " description='Radius:',\n", + " continuous_update=False\n", + ")\n", + "\n", + "# Display the slider and pass the update function as the callback\n", + "interact(update_circle_radius, radius=slider)\n", + "\n", + "# Define the HTML and JavaScript code for the initial D3.js circle\n", + "html_code = \"\"\"\n", "
\n", + "\n", "" + "\n", + "\"\"\"\n", + "\n", + "# Display the initial D3.js circle\n", + "display(HTML(html_code))" ] }, { diff --git a/source/notebooks/L1/1_ray_optics.ipynb b/source/notebooks/L1/1_ray_optics.ipynb index ec85e02..c2e94fa 100644 --- a/source/notebooks/L1/1_ray_optics.ipynb +++ b/source/notebooks/L1/1_ray_optics.ipynb @@ -130,12 +130,48 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 102, "id": "fbf42d2d-ba72-4d79-b251-bf343a9c054c", "metadata": { "tags": [] }, "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, { "data": { "text/html": [ @@ -184,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 103, "id": "a7043a8d-8a5a-4b0a-9ec3-3c61e77665b1", "metadata": { "tags": [] @@ -241,33 +277,70 @@ { "data": { "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "81c9708e657a43299356d6d746905d25", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(FloatSlider(value=50.0, continuous_update=False, description='Radius:', min=10.0, step=1…" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", "
\n", + "\n", "\n" ], "text/plain": [ @@ -279,35 +352,51 @@ } ], "source": [ - "%%html\n", + "from ipywidgets import interact, FloatSlider\n", + "from IPython.display import display, HTML, Javascript\n", + "\n", + "# Define the function to update the circle radius\n", + "def update_circle_radius(radius):\n", + " display(Javascript(f\"\"\"\n", + " (function() {{\n", + " var circle = d3.select(\"#d3-circle\");\n", + " if(circle) circle.attr(\"r\", {radius});\n", + " }})();\n", + " \"\"\"))\n", + "\n", + "# Create the slider widget\n", + "slider = FloatSlider(\n", + " value=50,\n", + " min=10,\n", + " max=100,\n", + " step=1,\n", + " description='Radius:',\n", + " continuous_update=False\n", + ")\n", + "\n", + "# Display the slider and pass the update function as the callback\n", + "interact(update_circle_radius, radius=slider)\n", + "\n", + "# Define the HTML and JavaScript code for the initial D3.js circle\n", + "html_code = \"\"\"\n", "
\n", + "\n", "" + "\n", + "\"\"\"\n", + "\n", + "# Display the initial D3.js circle\n", + "display(HTML(html_code))" ] }, {