diff --git a/examples/Time Evolution PDEs on Square (Gadfly).ipynb b/examples/Time Evolution PDEs on Square (Gadfly).ipynb index 99fa434e9..89682fc8b 100644 --- a/examples/Time Evolution PDEs on Square (Gadfly).ipynb +++ b/examples/Time Evolution PDEs on Square (Gadfly).ipynb @@ -2,7 +2,7 @@ "metadata": { "language": "Julia", "name": "", - "signature": "sha256:6b0006935c33873efb865a5e45eca7177ee7ee172e7401c33a5c06e282c4a5e9" + "signature": "sha256:93b0888053e311aa6cb58eeba416d5db8a7c6c1ee1d0d5df40fcf1882c69162a" }, "nbformat": 3, "nbformat_minor": 0, @@ -293,7 +293,8 @@ "metadata": {}, "source": [ "Advection-diffusion with Dirichlet\n", - " $$u_t = 0.01 \\Delta u -4 u_x -3 u_y, u(\\pm 1,y,t)=u(x,\\pm 1,t)=0$$" + " $$u_t = 0.01 \\Delta u -4 u_x -3 u_y$$\n", + "$$u(\\pm 1,y,t)=u(x,\\pm 1,t)=0$$" ] }, { @@ -323,12 +324,12 @@ " stroke-width=\"0.3\"\n", " font-size=\"3.88\"\n", "\n", - " id=\"fig-3205659e60e04ba9b4d3e7b9b9925b45\">\n", - "\n", - " \n", + " id=\"fig-1a94a840ed9842ee977c5ddc2760fafe\">\n", + "\n", + " \n", " x\n", " \n", - " \n", + " \n", " -3.5\n", " -3.0\n", " -2.5\n", @@ -442,15 +443,15 @@ " 2.8\n", " 3.0\n", " \n", - " \n", - " \n", - " 0.50\n", + " \n", + " \n", " 0.25\n", + " 0.50\n", + " 1.00\n", " 0.00\n", " 0.75\n", - " 1.00\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -491,23 +492,23 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", " \n", + " \n", + " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " Color\n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -621,7 +622,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -735,42 +736,42 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " -3.5\n", " -3.0\n", " -2.5\n", @@ -884,12 +885,12 @@ " 2.8\n", " 3.0\n", " \n", - " \n", + " \n", " y\n", " \n", "\n", "\n", - "\n", + "\n", " \n", "\n", @@ -1826,8 +1827,8 @@ " factory(glob.Snap, glob.Gadfly);\n", " }\n", "})(window, function (Snap, Gadfly) {\n", - " var fig = Snap(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45\");\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-9\")\n", + " var fig = Snap(\"#fig-1a94a840ed9842ee977c5ddc2760fafe\");\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-9\")\n", " .mouseenter(Gadfly.plot_mouseover)\n", ".mouseleave(Gadfly.plot_mouseout)\n", ".mousewheel(Gadfly.guide_background_scroll)\n", @@ -1835,63 +1836,63 @@ " Gadfly.guide_background_drag_onstart,\n", " Gadfly.guide_background_drag_onend)\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-12\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-12\")\n", " .plotroot().data(\"unfocused_ygrid_color\", \"#D0D0E0\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-12\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-12\")\n", " .plotroot().data(\"focused_ygrid_color\", \"#A0A0A0\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-13\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-13\")\n", " .plotroot().data(\"unfocused_xgrid_color\", \"#D0D0E0\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-13\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-13\")\n", " .plotroot().data(\"focused_xgrid_color\", \"#A0A0A0\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-17\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-17\")\n", " .data(\"mouseover_color\", \"#cd5c5c\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-17\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-17\")\n", " .data(\"mouseout_color\", \"#6a6a6a\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-17\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-17\")\n", " .click(Gadfly.zoomslider_zoomin_click)\n", ".mouseenter(Gadfly.zoomslider_button_mouseover)\n", ".mouseleave(Gadfly.zoomslider_button_mouseout)\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-19\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-19\")\n", " .data(\"max_pos\", 109.88)\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-19\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-19\")\n", " .data(\"min_pos\", 92.88)\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-19\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-19\")\n", " .click(Gadfly.zoomslider_track_click);\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-20\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-20\")\n", " .data(\"max_pos\", 109.88)\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-20\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-20\")\n", " .data(\"min_pos\", 92.88)\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-20\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-20\")\n", " .data(\"mouseover_color\", \"#cd5c5c\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-20\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-20\")\n", " .data(\"mouseout_color\", \"#6a6a6a\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-20\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-20\")\n", " .drag(Gadfly.zoomslider_thumb_dragmove,\n", " Gadfly.zoomslider_thumb_dragstart,\n", " Gadfly.zoomslider_thumb_dragend)\n", ".mousedown(Gadfly.zoomslider_thumb_mousedown)\n", ".mouseup(Gadfly.zoomslider_thumb_mouseup)\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-21\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-21\")\n", " .data(\"mouseover_color\", \"#cd5c5c\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-21\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-21\")\n", " .data(\"mouseout_color\", \"#6a6a6a\")\n", ";\n", - "fig.select(\"#fig-3205659e60e04ba9b4d3e7b9b9925b45-element-21\")\n", + "fig.select(\"#fig-1a94a840ed9842ee977c5ddc2760fafe-element-21\")\n", " .click(Gadfly.zoomslider_zoomout_click)\n", ".mouseenter(Gadfly.zoomslider_button_mouseover)\n", ".mouseleave(Gadfly.zoomslider_button_mouseout)\n", @@ -1901,11 +1902,11 @@ "\n" ], "metadata": { - "comm_id": "4b3eb663-8b77-4e47-879a-891ed957fa38", + "comm_id": "c785b276-0977-4af8-8639-12d666d16b04", "reactive": true }, "output_type": "pyout", - "prompt_number": 2, + "prompt_number": 6, "svg": [ "\n", "\n", - "\n", - " \n", + "\n", + " \n", " x\n", " \n", - " \n", + " \n", " -1.0\n", " -0.5\n", " 0.0\n", " 0.5\n", " 1.0\n", " \n", - " \n", - " \n", - " 0.50\n", + " \n", + " \n", " 0.25\n", + " 0.50\n", + " 1.00\n", " 0.00\n", " 0.75\n", - " 1.00\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1978,64 +1979,64 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", " \n", + " \n", + " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " Color\n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " -1.0\n", " -0.5\n", " 0.0\n", " 0.5\n", " 1.0\n", " \n", - " \n", + " \n", " y\n", " \n", "\n", "\n", - "\n", + "\n", " \n", "\n", @@ -2046,7 +2047,7 @@ ] } ], - "prompt_number": 2 + "prompt_number": 6 }, { "cell_type": "code", @@ -2056,53 +2057,8 @@ ], "language": "python", "metadata": {}, - "outputs": [ - { - "output_type": "stream", - "stream": "stderr", - "text": [ - "\n", - " in " - ] - }, - { - "output_type": "stream", - "stream": "stderr", - "text": [ - "first at abstractarray.jl:25\n", - " in apply_statistic at /Users/solver/.julia/v0.3/Gadfly/src/statistics.jl:590\n", - " in apply_statistics at /Users/solver/.julia/v0.3/Gadfly/src/statistics.jl:38\n", - " in render at /Users/solver/.julia/v0.3/Gadfly/src/Gadfly.jl:728\n", - " in writemime at /Users/solver/.julia/v0.3/Gadfly/src/Gadfly.jl:886\n", - " in sprint at iostream.jl:229\n", - " in stringmime at multimedia.jl:71\n", - " in get_data_dict at /Users/solver/.julia/v0.3/Interact/src/IJulia/setup.jl:33\n", - " in notify at /Users/solver/.julia/v0.3/Interact/src/IJulia/setup.jl:68\n", - " in update at /Users/solver/.julia/v0.3/Reactive/src/Reactive.jl:85\n", - " in push! at /Users/solver/.julia/v0.3/Reactive/src/Reactive.jl:245\n", - " in BDF4 at /Users/solver/.julia/v0.3/ApproxFun/src/Extras/timeevolution.jl:56\n", - " in BDF4 at /Users/solver/.julia/v0.3/ApproxFun/src/Extras/timeevolution.jl:61\n", - " in include_string at loading.jl:97\n", - " in execute_request_0x535c5df2 at /Users/solver/.julia/v0.3/IJulia/src/execute_request.jl:157\n", - " in eventloop at /Users/solver/.julia/v0.3/IJulia/src/IJulia.jl:123\n", - " in anonymous at task.jl:340\n", - "\n" - ] - }, - { - "ename": "LoadError", - "evalue": "BoundsError()\nwhile loading In[4], in expression starting on line 1", - "output_type": "pyerr", - "traceback": [ - "BoundsError()\nwhile loading In[4], in expression starting on line 1", - "", - " in push! at /Users/solver/.julia/v0.3/Reactive/src/Reactive.jl:271", - " in BDF4 at /Users/solver/.julia/v0.3/ApproxFun/src/Extras/timeevolution.jl:56", - " in BDF4 at /Users/solver/.julia/v0.3/ApproxFun/src/Extras/timeevolution.jl:61" - ] - } - ], - "prompt_number": 4 + "outputs": [], + "prompt_number": 7 }, { "cell_type": "heading", @@ -2110,7 +2066,8 @@ "metadata": {}, "source": [ "Wave equation with Dirichlet \n", - "$$u_{tt} = \\Delta u, u(x,y,0)=u_0(x,y), u(\\pm 1,y,t)=u(x,\\pm 1,t)=0$$" + "$$u_{tt} = \\Delta u$$\n", + "$$u(x,y,0)=u_0(x,y), u(\\pm 1,y,t)=u(x,\\pm 1,t)=0$$" ] }, { @@ -2139,12 +2096,12 @@ " stroke-width=\"0.3\"\n", " font-size=\"3.88\"\n", "\n", - " id=\"fig-4748e460c3844e17b13651df14bec22d\">\n", - "\n", - " \n", + " id=\"fig-d1d1eef64e684cfb95fc6878f6896f10\">\n", + "\n", + " \n", " x\n", " \n", - " \n", + " \n", " -3.5\n", " -3.0\n", " -2.5\n", @@ -2258,13 +2215,13 @@ " 2.8\n", " 3.0\n", " \n", - " \n", - " \n", + " \n", + " \n", " 0.5\n", - " 0.0\n", " 1.0\n", + " 0.0\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2305,21 +2262,21 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " Color\n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2433,7 +2390,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2547,82 +2504,82 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " -3.5\n", " -3.0\n", " -2.5\n", @@ -2736,12 +2693,12 @@ " 2.8\n", " 3.0\n", " \n", - " \n", + " \n", " y\n", " \n", "\n", "\n", - "\n", + "\n", " \n", "\n", @@ -3678,8 +3635,8 @@ " factory(glob.Snap, glob.Gadfly);\n", " }\n", "})(window, function (Snap, Gadfly) {\n", - " var fig = Snap(\"#fig-4748e460c3844e17b13651df14bec22d\");\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-9\")\n", + " var fig = Snap(\"#fig-d1d1eef64e684cfb95fc6878f6896f10\");\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-9\")\n", " .mouseenter(Gadfly.plot_mouseover)\n", ".mouseleave(Gadfly.plot_mouseout)\n", ".mousewheel(Gadfly.guide_background_scroll)\n", @@ -3687,63 +3644,63 @@ " Gadfly.guide_background_drag_onstart,\n", " Gadfly.guide_background_drag_onend)\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-12\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-12\")\n", " .plotroot().data(\"unfocused_ygrid_color\", \"#D0D0E0\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-12\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-12\")\n", " .plotroot().data(\"focused_ygrid_color\", \"#A0A0A0\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-13\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-13\")\n", " .plotroot().data(\"unfocused_xgrid_color\", \"#D0D0E0\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-13\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-13\")\n", " .plotroot().data(\"focused_xgrid_color\", \"#A0A0A0\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-17\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-17\")\n", " .data(\"mouseover_color\", \"#cd5c5c\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-17\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-17\")\n", " .data(\"mouseout_color\", \"#6a6a6a\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-17\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-17\")\n", " .click(Gadfly.zoomslider_zoomin_click)\n", ".mouseenter(Gadfly.zoomslider_button_mouseover)\n", ".mouseleave(Gadfly.zoomslider_button_mouseout)\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-19\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-19\")\n", " .data(\"max_pos\", 111.42)\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-19\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-19\")\n", " .data(\"min_pos\", 94.42)\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-19\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-19\")\n", " .click(Gadfly.zoomslider_track_click);\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-20\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-20\")\n", " .data(\"max_pos\", 111.42)\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-20\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-20\")\n", " .data(\"min_pos\", 94.42)\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-20\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-20\")\n", " .data(\"mouseover_color\", \"#cd5c5c\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-20\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-20\")\n", " .data(\"mouseout_color\", \"#6a6a6a\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-20\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-20\")\n", " .drag(Gadfly.zoomslider_thumb_dragmove,\n", " Gadfly.zoomslider_thumb_dragstart,\n", " Gadfly.zoomslider_thumb_dragend)\n", ".mousedown(Gadfly.zoomslider_thumb_mousedown)\n", ".mouseup(Gadfly.zoomslider_thumb_mouseup)\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-21\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-21\")\n", " .data(\"mouseover_color\", \"#cd5c5c\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-21\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-21\")\n", " .data(\"mouseout_color\", \"#6a6a6a\")\n", ";\n", - "fig.select(\"#fig-4748e460c3844e17b13651df14bec22d-element-21\")\n", + "fig.select(\"#fig-d1d1eef64e684cfb95fc6878f6896f10-element-21\")\n", " .click(Gadfly.zoomslider_zoomout_click)\n", ".mouseenter(Gadfly.zoomslider_button_mouseover)\n", ".mouseleave(Gadfly.zoomslider_button_mouseout)\n", @@ -3753,11 +3710,11 @@ "\n" ], "metadata": { - "comm_id": "5b8627a1-08ce-4c99-a92a-29c1abe9d9a8", + "comm_id": "5649dfe8-8c63-4f52-a9be-654f841b2f8d", "reactive": true }, "output_type": "pyout", - "prompt_number": 5, + "prompt_number": 8, "svg": [ "\n", "\n", - "\n", - " \n", + "\n", + " \n", " x\n", " \n", - " \n", + " \n", " -1.0\n", " -0.5\n", " 0.0\n", " 0.5\n", " 1.0\n", " \n", - " \n", - " \n", + " \n", + " \n", " 0.5\n", - " 0.0\n", " 1.0\n", + " 0.0\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3828,102 +3785,102 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", " \n", + " \n", " \n", " \n", - " \n", + " \n", " Color\n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " -1.0\n", " -0.5\n", " 0.0\n", " 0.5\n", " 1.0\n", " \n", - " \n", + " \n", " y\n", " \n", "\n", "\n", - "\n", + "\n", " \n", "\n", @@ -3934,7 +3891,7 @@ ] } ], - "prompt_number": 5 + "prompt_number": 8 }, { "cell_type": "code", @@ -3945,14 +3902,15 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 6 + "prompt_number": 9 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ - "Sine Gordon" + "Sine Gordon\n", + "$$u_{tt}=\\Delta u - \\sin(u)$$" ] }, { @@ -3982,12 +3940,12 @@ " stroke-width=\"0.3\"\n", " font-size=\"3.88\"\n", "\n", - " id=\"fig-de2af984f86a4a02a8cac04d5ae85826\">\n", - "\n", - " \n", + " id=\"fig-b2a44d202fc447c1b09fa68a0b22b2d4\">\n", + "\n", + " \n", " x\n", " \n", - " \n", + " \n", " -3.5\n", " -3.0\n", " -2.5\n", @@ -4101,16 +4059,16 @@ " 2.8\n", " 3.0\n", " \n", - " \n", - " \n", - " 0.8\n", + " \n", + " \n", " 0.6\n", + " 0.8\n", + " 1.0\n", " 0.0\n", " 0.4\n", " 0.2\n", - " 1.0\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4151,24 +4109,24 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " Color\n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4282,7 +4240,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4396,47 +4354,47 @@ " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " -3.5\n", " -3.0\n", " -2.5\n", @@ -4550,12 +4508,12 @@ " 2.8\n", " 3.0\n", " \n", - " \n", + " \n", " y\n", " \n", "\n", "\n", - "\n", + "\n", " \n", "\n", @@ -5492,8 +5450,8 @@ " factory(glob.Snap, glob.Gadfly);\n", " }\n", "})(window, function (Snap, Gadfly) {\n", - " var fig = Snap(\"#fig-de2af984f86a4a02a8cac04d5ae85826\");\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-9\")\n", + " var fig = Snap(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4\");\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-9\")\n", " .mouseenter(Gadfly.plot_mouseover)\n", ".mouseleave(Gadfly.plot_mouseout)\n", ".mousewheel(Gadfly.guide_background_scroll)\n", @@ -5501,63 +5459,63 @@ " Gadfly.guide_background_drag_onstart,\n", " Gadfly.guide_background_drag_onend)\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-12\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-12\")\n", " .plotroot().data(\"unfocused_ygrid_color\", \"#D0D0E0\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-12\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-12\")\n", " .plotroot().data(\"focused_ygrid_color\", \"#A0A0A0\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-13\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-13\")\n", " .plotroot().data(\"unfocused_xgrid_color\", \"#D0D0E0\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-13\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-13\")\n", " .plotroot().data(\"focused_xgrid_color\", \"#A0A0A0\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-17\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-17\")\n", " .data(\"mouseover_color\", \"#cd5c5c\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-17\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-17\")\n", " .data(\"mouseout_color\", \"#6a6a6a\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-17\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-17\")\n", " .click(Gadfly.zoomslider_zoomin_click)\n", ".mouseenter(Gadfly.zoomslider_button_mouseover)\n", ".mouseleave(Gadfly.zoomslider_button_mouseout)\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-19\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-19\")\n", " .data(\"max_pos\", 111.42)\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-19\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-19\")\n", " .data(\"min_pos\", 94.42)\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-19\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-19\")\n", " .click(Gadfly.zoomslider_track_click);\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-20\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-20\")\n", " .data(\"max_pos\", 111.42)\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-20\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-20\")\n", " .data(\"min_pos\", 94.42)\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-20\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-20\")\n", " .data(\"mouseover_color\", \"#cd5c5c\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-20\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-20\")\n", " .data(\"mouseout_color\", \"#6a6a6a\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-20\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-20\")\n", " .drag(Gadfly.zoomslider_thumb_dragmove,\n", " Gadfly.zoomslider_thumb_dragstart,\n", " Gadfly.zoomslider_thumb_dragend)\n", ".mousedown(Gadfly.zoomslider_thumb_mousedown)\n", ".mouseup(Gadfly.zoomslider_thumb_mouseup)\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-21\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-21\")\n", " .data(\"mouseover_color\", \"#cd5c5c\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-21\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-21\")\n", " .data(\"mouseout_color\", \"#6a6a6a\")\n", ";\n", - "fig.select(\"#fig-de2af984f86a4a02a8cac04d5ae85826-element-21\")\n", + "fig.select(\"#fig-b2a44d202fc447c1b09fa68a0b22b2d4-element-21\")\n", " .click(Gadfly.zoomslider_zoomout_click)\n", ".mouseenter(Gadfly.zoomslider_button_mouseover)\n", ".mouseleave(Gadfly.zoomslider_button_mouseout)\n", @@ -5567,11 +5525,11 @@ "\n" ], "metadata": { - "comm_id": "11c1fcc6-7861-4683-95d5-f0e67cd8951e", + "comm_id": "c8bee672-97cf-4df8-8616-a16995bd0d2b", "reactive": true }, "output_type": "pyout", - "prompt_number": 7, + "prompt_number": 10, "svg": [ "\n", "\n", - "\n", - " \n", + "\n", + " \n", " x\n", " \n", - " \n", + " \n", " -1.0\n", " -0.5\n", " 0.0\n", " 0.5\n", " 1.0\n", " \n", - " \n", - " \n", - " 0.8\n", + " \n", + " \n", " 0.6\n", + " 0.8\n", + " 1.0\n", " 0.0\n", " 0.4\n", " 0.2\n", - " 1.0\n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -5645,70 +5603,70 @@ " \n", " \n", " \n", - " \n", - " \n", + " \n", " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", " \n", " \n", - " \n", + " \n", " Color\n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " -1.0\n", " -0.5\n", " 0.0\n", " 0.5\n", " 1.0\n", " \n", - " \n", + " \n", " y\n", " \n", "\n", "\n", - "\n", + "\n", " \n", "\n", @@ -5719,7 +5677,7 @@ ] } ], - "prompt_number": 7 + "prompt_number": 10 }, { "cell_type": "code", @@ -5730,7 +5688,7 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 8 + "prompt_number": 11 } ], "metadata": {} diff --git a/src/Domains/Line.jl b/src/Domains/Line.jl index bee725b94..87cffcf2a 100644 --- a/src/Domains/Line.jl +++ b/src/Domains/Line.jl @@ -37,50 +37,58 @@ Base.convert{IT<:Line}(::Type{IT},::AnyDomain)=Line(NaN,NaN) ##TODO non-1 alpha,beta -function tocanonical(d::Line,x) - @assert d.α==d.β==-1. || d.α==d.β==-.5 +function line_tocanonical(α,β,x) - if d.α==d.β==-1. + + @assert α==β==-1. || α==β==-.5 + + if α==β==-1. 2x./(1+sqrt(1+4x.^2)) - elseif d.α==d.β==-.5 + elseif α==β==-.5 x./sqrt(1 + x.^2) end end -function tocanonicalD(d::Line,x) - @assert d.α==d.β==-1. || d.α==d.β==-.5 +function line_tocanonicalD(α,β,x) + @assert α==β==-1. || α==β==-.5 - if d.α==d.β==-1. + if α==β==-1. 2./(1+4x.^2+sqrt(1+4x.^2)) - elseif d.α==d.β==-.5 + elseif α==β==-.5 (1 + x.^2).^(-3/2) end end -function fromcanonical(d::Line,x) +function line_fromcanonical(α,β,x) #TODO: why is this consistent? - if d.α==d.β==-1. + if α==β==-1. x./(1-x.^2) else - x.*(1 + x).^d.α.*(1 - x).^d.β + x.*(1 + x).^α.*(1 - x).^β end end -function fromcanonicalD(d::Line,x) - if d.α==d.β==-1. +function line_fromcanonicalD(α,β,x) + if α==β==-1. (1+x.^2)./(1-x.^2).^2 else - (1 - (d.β-d.α)x - (d.β+d.α+1)x.^2).*(1+x).^(d.α-1).*(1-x).^(d.β-1) + (1 - (β-α)x - (β+α+1)x.^2).*(1+x).^(α-1).*(1-x).^(β-1) end end -function invfromcanonicalD(d::Line,x) - if d.α==d.β==-1. +function line_invfromcanonicalD(α,β,x) + if α==β==-1. (1-x.^2).^2./(1+x.^2) else - 1./(1 - (d.β-d.α)x - (d.β+d.α+1)x.^2).*(1+x).^(1-d.α).*(1-x).^(1-d.β) + 1./(1 - (β-α)x - (β+α+1)x.^2).*(1+x).^(1-α).*(1-x).^(1-β) end end +tocanonical(d::Line,x)=line_tocanonical(d.α,d.β,cistyped(-d.angle).*(x-d.centre)) +tocanonicalD(d::Line,x)=cistyped(-d.angle).*line_tocanonicalD(d.α,d.β,cistyped(-d.angle).*(x-d.centre)) +fromcanonical(d::Line,x)=cistyped(d.angle)*line_fromcanonical(d.α,d.β,x)+d.centre +fromcanonicalD(d::Line,x)=cistyped(d.angle)*line_fromcanonicalD(d.α,d.β,x) +invfromcanonicalD(d::Line,x)=cistyped(-d.angle)*line_invfromcanonicalD(d.α,d.β,x) + @@ -93,6 +101,10 @@ Base.last(d::Line)= Inf +# algebra +*(c::Number,d::Line)=Line(isapprox(d.centre,0)?d.centre:c*d.centre,d.angle+angle(c),d.α,d.β) ++(c::Number,d::Line)=Line(c+d.centre,d.angle,d.α,d.β) + ## Periodic line @@ -116,6 +128,7 @@ isambiguous(d::PeriodicLine)=isnan(d.centre) && isnan(d.angle) Base.convert{T<:Number}(::Type{PeriodicLine{T}},::AnyDomain)=PeriodicLine{T}(NaN,NaN) Base.convert{IT<:PeriodicLine}(::Type{IT},::AnyDomain)=PeriodicLine(NaN,NaN) +Base.angle{a}(d::PeriodicLine{a})=a*π tocanonical(d::PeriodicLine{false},x)= 2atan((x-d.centre)/d.L) fromcanonical(d::PeriodicLine{false},θ)=d.L*tan(θ/2) + d.centre @@ -135,6 +148,11 @@ function mappoint(b::Circle,a::PeriodicLine{false},x) a.centre+a.L*im*(1-y)./(y+1) end + +# algebra +*(c::Number,d::PeriodicLine)=PeriodicLine(isapprox(d.centre,0)?d.centre:c*d.centre,angle(d)+angle(c)) ++{a}(c::Number,d::PeriodicLine{a})=PeriodicLine{a}(c+d.centre,d.L) + ## vectorized for typ in (:Line,:PeriodicLine) @@ -155,7 +173,12 @@ for typ in (:Line,:PeriodicLine) @assert sign(imag(d[1]))==-sign(imag(d[2])) $typ(real(d[2]),angle(d[2])) - + elseif isnan(real(d[1])) && isnan(real(d[2])) # hack for -im*Inf + $typ([imag(d[1])*im,imag(d[2])*im]) + elseif isnan(real(d[1])) # hack for -im*Inf + $typ([real(d[2])+imag(d[1])*im,d[2]]) + elseif isnan(real(d[2])) # hack for -im*Inf + $typ([d[1],real(d[1])+imag(d[2])*im]) elseif abs(imag(d[1])) < Inf @assert imag(d[1])==imag(d[2]) @assert sign(real(d[1]))==-sign(real(d[2])) diff --git a/src/Extras/specialfunctions.jl b/src/Extras/specialfunctions.jl index 2d99b335e..05e32c3e0 100644 --- a/src/Extras/specialfunctions.jl +++ b/src/Extras/specialfunctions.jl @@ -354,13 +354,13 @@ function Base.exp{JW<:JacobiWeight}(f::Fun{JW}) if S.α < 0 && S.β < 0 # provided both are negative, we get exponential decay on both ends - @assert first(q) < 0 && last(q) < 0 + @assert real(first(q)) < 0 && real(last(q)) < 0 s=JacobiWeight(2.,2.,domain(f)) elseif S.α < 0 && isapprox(S.β,0.) - @assert first(q) < 0 + @assert real(first(q)) < 0 s=JacobiWeight(2.,0.,domain(f)) elseif S.β < 0 && isapprox(S.α,0.) - @assert last(q) < 0 + @assert real(last(q)) < 0 s=JacobiWeight(0.,2.,domain(f)) else error("exponential of fractional power, not implemented")