HSG-MCS-HS21_Julia/JuliaTutorial-master/Tutorial_24_Integration.ipynb
2021-11-15 21:14:51 +01:00

702 lines
105 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Numerical Integration and Differentiation\n",
"\n",
"This notebook illustrates how to perform numerical integration and differentiation. \n",
"\n",
"There are several packages for doing this. Here, the focus is on [QuadGK](https://github.com/JuliaMath/QuadGK.jl) and [ForwardDiff](https://github.com/JuliaDiff/ForwardDiff.jl)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Load Packages and Extra Functions"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"printyellow (generic function with 1 method)"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"using Printf, QuadGK, ForwardDiff\n",
"\n",
"include(\"jlFiles/printmat.jl\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"using Plots\n",
"\n",
"#pyplot(size=(600,400))\n",
"gr(size=(480,320))\n",
"default(fmt = :svg)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Numerical Integration\n",
"\n",
"As a simple illustration, the next cells plot and integrate the $N(0,\\sigma)$ pdf."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The Pdf of the N() Distribution \n",
"\n",
"Notice: the function takes $\\mu$ and $\\sigma$ (not $\\sigma^2$) as inputs, similar to the Distributions package. "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"ϕNS (generic function with 3 methods)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function ϕNS(x,μ=0,σ=1) #pdf of N(μ,σ), defaults to N(0,1)\n",
" z = (x - μ)/σ\n",
" pdf = exp(-0.5*z^2)/(sqrt(2*pi)*σ)\n",
" return pdf\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"480\" height=\"320\" viewBox=\"0 0 1920 1280\">\n",
"<defs>\n",
" <clipPath id=\"clip790\">\n",
" <rect x=\"0\" y=\"0\" width=\"1920\" height=\"1280\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip790)\" d=\"\n",
"M0 1280 L1920 1280 L1920 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip791\">\n",
" <rect x=\"384\" y=\"0\" width=\"1345\" height=\"1280\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip790)\" d=\"\n",
"M143.534 1106.38 L1872.76 1106.38 L1872.76 123.472 L143.534 123.472 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip792\">\n",
" <rect x=\"143\" y=\"123\" width=\"1730\" height=\"984\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 143.534,1106.38 143.534,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 431.738,1106.38 431.738,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 719.942,1106.38 719.942,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1008.15,1106.38 1008.15,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1296.35,1106.38 1296.35,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1584.55,1106.38 1584.55,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1872.76,1106.38 1872.76,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,1106.38 1872.76,1106.38 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,1106.38 143.534,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 431.738,1106.38 431.738,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 719.942,1106.38 719.942,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1008.15,1106.38 1008.15,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1296.35,1106.38 1296.35,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1584.55,1106.38 1584.55,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1872.76,1106.38 1872.76,1094.58 \n",
" \"/>\n",
"<path clip-path=\"url(#clip790)\" d=\"M 0 0 M115.514 1146.38 L145.189 1146.38 L145.189 1150.32 L115.514 1150.32 L115.514 1146.38 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M164.425 1144.58 Q167.782 1145.3 169.657 1147.56 Q171.555 1149.83 171.555 1153.17 Q171.555 1158.28 168.037 1161.08 Q164.518 1163.88 158.037 1163.88 Q155.861 1163.88 153.546 1163.44 Q151.254 1163.03 148.801 1162.17 L148.801 1157.66 Q150.745 1158.79 153.06 1159.37 Q155.375 1159.95 157.898 1159.95 Q162.296 1159.95 164.588 1158.21 Q166.902 1156.48 166.902 1153.17 Q166.902 1150.11 164.75 1148.4 Q162.62 1146.66 158.801 1146.66 L154.773 1146.66 L154.773 1142.82 L158.986 1142.82 Q162.435 1142.82 164.263 1141.45 Q166.092 1140.06 166.092 1137.47 Q166.092 1134.81 164.194 1133.4 Q162.319 1131.96 158.801 1131.96 Q156.879 1131.96 154.68 1132.38 Q152.481 1132.8 149.842 1133.67 L149.842 1129.51 Q152.504 1128.77 154.819 1128.4 Q157.157 1128.03 159.217 1128.03 Q164.541 1128.03 167.643 1130.46 Q170.745 1132.86 170.745 1136.99 Q170.745 1139.86 169.101 1141.85 Q167.458 1143.81 164.425 1144.58 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M404.192 1146.38 L433.868 1146.38 L433.868 1150.32 L404.192 1150.32 L404.192 1146.38 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M442.965 1159.28 L459.284 1159.28 L459.284 1163.21 L437.34 1163.21 L437.34 1159.28 Q440.002 1156.52 444.585 1151.89 Q449.192 1147.24 450.372 1145.9 Q452.617 1143.37 453.497 1141.64 Q454.4 1139.88 454.4 1138.19 Q454.4 1135.43 452.455 1133.7 Q450.534 1131.96 447.432 1131.96 Q445.233 1131.96 442.78 1132.73 Q440.349 1133.49 437.571 1135.04 L437.571 1130.32 Q440.395 1129.18 442.849 1128.61 Q445.303 1128.03 447.34 1128.03 Q452.71 1128.03 455.905 1130.71 Q459.099 1133.4 459.099 1137.89 Q459.099 1140.02 458.289 1141.94 Q457.502 1143.84 455.395 1146.43 Q454.817 1147.1 451.715 1150.32 Q448.613 1153.51 442.965 1159.28 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M692.21 1146.38 L721.886 1146.38 L721.886 1150.32 L692.21 1150.32 L692.21 1146.38 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M727.766 1159.28 L735.404 1159.28 L735.404 1132.91 L727.094 1134.58 L727.094 1130.32 L735.358 1128.65 L740.034 1128.65 L740.034 1159.28 L747.673 1159.28 L747.673 1163.21 L727.766 1163.21 L727.766 1159.28 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1008.15 1131.73 Q1004.53 1131.73 1002.71 1135.3 Q1000.9 1138.84 1000.9 1145.97 Q1000.9 1153.07 1002.71 1156.64 Q1004.53 1160.18 1008.15 1160.18 Q1011.78 1160.18 1013.58 1156.64 Q1015.41 1153.07 1015.41 1145.97 Q1015.41 1138.84 1013.58 1135.3 Q1011.78 1131.73 1008.15 1131.73 M1008.15 1128.03 Q1013.96 1128.03 1017.01 1132.63 Q1020.09 1137.22 1020.09 1145.97 Q1020.09 1154.69 1017.01 1159.3 Q1013.96 1163.88 1008.15 1163.88 Q1002.33 1163.88 999.256 1159.3 Q996.201 1154.69 996.201 1145.97 Q996.201 1137.22 999.256 1132.63 Q1002.33 1128.03 1008.15 1128.03 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1286.73 1159.28 L1294.37 1159.28 L1294.37 1132.91 L1286.06 1134.58 L1286.06 1130.32 L1294.32 1128.65 L1299 1128.65 L1299 1159.28 L1306.64 1159.28 L1306.64 1163.21 L1286.73 1163.21 L1286.73 1159.28 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1579.21 1159.28 L1595.52 1159.28 L1595.52 1163.21 L1573.58 1163.21 L1573.58 1159.28 Q1576.24 1156.52 1580.83 1151.89 Q1585.43 1147.24 1586.61 1145.9 Q1588.86 1143.37 1589.74 1141.64 Q1590.64 1139.88 1590.64 1138.19 Q1590.64 1135.43 1588.7 1133.7 Q1586.77 1131.96 1583.67 1131.96 Q1581.47 1131.96 1579.02 1132.73 Q1576.59 1133.49 1573.81 1135.04 L1573.81 1130.32 Q1576.64 1129.18 1579.09 1128.61 Q1581.54 1128.03 1583.58 1128.03 Q1588.95 1128.03 1592.14 1130.71 Q1595.34 1133.4 1595.34 1137.89 Q1595.34 1140.02 1594.53 1141.94 Q1593.74 1143.84 1591.64 1146.43 Q1591.06 1147.1 1587.96 1150.32 Q1584.85 1153.51 1579.21 1159.28 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1877 1144.58 Q1880.36 1145.3 1882.24 1147.56 Q1884.13 1149.83 1884.13 1153.17 Q1884.13 1158.28 1880.61 1161.08 Q1877.1 1163.88 1870.61 1163.88 Q1868.44 1163.88 1866.12 1163.44 Q1863.83 1163.03 1861.38 1162.17 L1861.38 1157.66 Q1863.32 1158.79 1865.64 1159.37 Q1867.95 1159.95 1870.48 1159.95 Q1874.87 1159.95 1877.17 1158.21 Q1879.48 1156.48 1879.48 1153.17 Q1879.48 1150.11 1877.33 1148.4 Q1875.2 1146.66 1871.38 1146.66 L1867.35 1146.66 L1867.35 1142.82 L1871.56 1142.82 Q1875.01 1142.82 1876.84 1141.45 Q1878.67 1140.06 1878.67 1137.47 Q1878.67 1134.81 1876.77 1133.4 Q1874.9 1131.96 1871.38 1131.96 Q1869.46 1131.96 1867.26 1132.38 Q1865.06 1132.8 1862.42 1133.67 L1862.42 1129.51 Q1865.08 1128.77 1867.4 1128.4 Q1869.74 1128.03 1871.8 1128.03 Q1877.12 1128.03 1880.22 1130.46 Q1883.32 1132.86 1883.32 1136.99 Q1883.32 1139.86 1881.68 1141.85 Q1880.04 1143.81 1877 1144.58 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1024.76 1208.4 L1011.87 1225.74 L1025.43 1244.04 L1018.52 1244.04 L1008.15 1230.04 L997.769 1244.04 L990.862 1244.04 L1004.71 1225.39 L992.04 1208.4 L998.947 1208.4 L1008.4 1221.1 L1017.85 1208.4 L1024.76 1208.4 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 143.534,1106.38 1872.76,1106.38 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 143.534,872.354 1872.76,872.354 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 143.534,638.329 1872.76,638.329 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 143.534,404.303 1872.76,404.303 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 143.534,170.277 1872.76,170.277 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,1106.38 143.534,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,1106.38 164.285,1106.38 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,872.354 164.285,872.354 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,638.329 164.285,638.329 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,404.303 164.285,404.303 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip790)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,170.277 164.285,170.277 \n",
" \"/>\n",
"<path clip-path=\"url(#clip790)\" d=\"M 0 0 M65.8226 1092.18 Q62.2115 1092.18 60.3828 1095.74 Q58.5773 1099.28 58.5773 1106.41 Q58.5773 1113.52 60.3828 1117.09 Q62.2115 1120.63 65.8226 1120.63 Q69.4569 1120.63 71.2624 1117.09 Q73.0911 1113.52 73.0911 1106.41 Q73.0911 1099.28 71.2624 1095.74 Q69.4569 1092.18 65.8226 1092.18 M65.8226 1088.47 Q71.6328 1088.47 74.6883 1093.08 Q77.767 1097.66 77.767 1106.41 Q77.767 1115.14 74.6883 1119.75 Q71.6328 1124.33 65.8226 1124.33 Q60.0125 1124.33 56.9338 1119.75 Q53.8782 1115.14 53.8782 1106.41 Q53.8782 1097.66 56.9338 1093.08 Q60.0125 1088.47 65.8226 1088.47 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M82.8364 1117.78 L87.7206 1117.78 L87.7206 1123.66 L82.8364 1123.66 L82.8364 1117.78 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M102.79 1092.18 Q99.1789 1092.18 97.3502 1095.74 Q95.5447 1099.28 95.5447 1106.41 Q95.5447 1113.52 97.3502 1117.09 Q99.1789 1120.63 102.79 1120.63 Q106.424 1120.63 108.23 1117.09 Q110.058 1113.52 110.058 1106.41 Q110.058 1099.28 108.23 1095.74 Q106.424 1092.18 102.79 1092.18 M102.79 1088.47 Q108.6 1088.47 111.656 1093.08 Q114.734 1097.66 114.734 1106.41 Q114.734 1115.14 111.656 1119.75 Q108.6 1124.33 102.79 1124.33 Q96.9799 1124.33 93.9012 1119.75 Q90.8456 1115.14 90.8456 1106.41 Q90.8456 1097.66 93.9012 1093.08 Q96.9799 1088.47 102.79 1088.47 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M67.0495 858.153 Q63.4384 858.153 61.6097 861.718 Q59.8041 865.259 59.8041 872.389 Q59.8041 879.495 61.6097 883.06 Q63.4384 886.602 67.0495 886.602 Q70.6837 886.602 72.4892 883.06 Q74.3179 879.495 74.3179 872.389 Q74.3179 865.259 72.4892 861.718 Q70.6837 858.153 67.0495 858.153 M67.0495 854.449 Q72.8596 854.449 75.9152 859.056 Q78.9938 863.639 78.9938 872.389 Q78.9938 881.116 75.9152 885.722 Q72.8596 890.305 67.0495 890.305 Q61.2393 890.305 58.1606 885.722 Q55.1051 881.116 55.1051 872.389 Q55.1051 863.639 58.1606 859.056 Q61.2393 854.449 67.0495 854.449 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M84.0633 883.755 L88.9475 883.755 L88.9475 889.634 L84.0633 889.634 L84.0633 883.755 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M94.8271 885.699 L102.466 885.699 L102.466 859.333 L94.1558 861 L94.1558 856.741 L102.42 855.074 L107.096 855.074 L107.096 885.699 L114.734 885.699 L114.734 889.634 L94.8271 889.634 L94.8271 885.699 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M67.4198 624.127 Q63.8087 624.127 61.98 627.692 Q60.1745 631.234 60.1745 638.363 Q60.1745 645.47 61.98 649.035 Q63.8087 652.576 67.4198 652.576 Q71.0541 652.576 72.8596 649.035 Q74.6883 645.47 74.6883 638.363 Q74.6883 631.234 72.8596 627.692 Q71.0541 624.127 67.4198 624.127 M67.4198 620.424 Q73.23 620.424 76.2855 625.03 Q79.3642 629.613 79.3642 638.363 Q79.3642 647.09 76.2855 651.697 Q73.23 656.28 67.4198 656.28 Q61.6097 656.28 58.531 651.697 Q55.4754 647.09 55.4754 638.363 Q55.4754 629.613 58.531 625.03 Q61.6097 620.424 67.4198 620.424 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M84.4336 649.729 L89.3179 649.729 L89.3179 655.609 L84.4336 655.609 L84.4336 649.729 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M98.415 651.673 L114.734 651.673 L114.734 655.609 L92.7901 655.609 L92.7901 651.673 Q95.4521 648.919 100.035 644.289 Q104.642 639.636 105.822 638.294 Q108.068 635.771 108.947 634.035 Q109.85 632.275 109.85 630.586 Q109.85 627.831 107.906 626.095 Q105.984 624.359 102.883 624.359 Q100.684 624.359 98.2298 625.123 Q95.7993 625.886 93.0215 627.437 L93.0215 622.715 Q95.8456 621.581 98.2993 621.002 Q100.753 620.424 102.79 620.424 Q108.16 620.424 111.355 623.109 Q114.549 625.794 114.549 630.285 Q114.549 632.414 113.739 634.336 Q112.952 636.234 110.846 638.826 Q110.267 639.498 107.165 642.715 Q104.063 645.91 98.415 651.673 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M66.4708 390.102 Q62.8597 390.102 61.031 393.666 Q59.2254 397.208 59.2254 404.338 Q59.2254 411.444 61.031 415.009 Q62.8597 418.551 66.4708 418.551 Q70.105 418.551 71.9105 415.009 Q73.7392 411.444 73.7392 404.338 Q73.7392 397.208 71.9105 393.666 Q70.105 390.102 66.4708 390.102 M66.4708 386.398 Q72.2809 386.398 75.3365 391.004 Q78.4151 395.588 78.4151 404.338 Q78.4151 413.064 75.3365 417.671 Q72.2809 422.254 66.4708 422.254 Q60.6606 422.254 57.5819 417.671 Q54.5264 413.064 54.5264 404.338 Q54.5264 395.588 57.5819 391.004 Q60.6606 386.398 66.4708 386.398 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M83.4846 415.703 L88.3688 415.703 L88.3688 421.583 L83.4846 421.583 L83.4846 415.703 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M107.605 402.949 Q110.961 403.666 112.836 405.935 Q114.734 408.203 114.734 411.537 Q114.734 416.652 111.216 419.453 Q107.697 422.254 101.216 422.254 Q99.04 422.254 96.7252 421.814 Q94.4336 421.398 91.9799 420.541 L91.9799 416.027 Q93.9243 417.162 96.2391 417.74 Q98.5539 418.319 101.077 418.319 Q105.475 418.319 107.767 416.583 Q110.082 414.847 110.082 411.537 Q110.082 408.481 107.929 406.768 Q105.799 405.032 101.98 405.032 L97.9521 405.032 L97.9521 401.189 L102.165 401.189 Q105.614 401.189 107.443 399.824 Q109.271 398.435 109.271 395.842 Q109.271 393.18 107.373 391.768 Q105.498 390.333 101.98 390.333 Q100.059 390.333 97.8595 390.75 Q95.6604 391.166 93.0215 392.046 L93.0215 387.879 Q95.6836 387.139 97.9984 386.768 Q100.336 386.398 102.396 386.398 Q107.721 386.398 110.822 388.828 Q113.924 391.236 113.924 395.356 Q113.924 398.227 112.281 400.217 Q110.637 402.185 107.605 402.949 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M65.3365 156.076 Q61.7254 156.076 59.8967 159.641 Q58.0912 163.182 58.0912 170.312 Q58.0912 177.418 59.8967 180.983 Q61.7254 184.525 65.3365 184.525 Q68.9707 184.525 70.7763 180.983 Q72.605 177.418 72.605 170.312 Q72.605 163.182 70.7763 159.641 Q68.9707 156.076 65.3365 156.076 M65.3365 152.372 Q71.1467 152.372 74.2022 156.979 Q77.2809 161.562 77.2809 170.312 Q77.2809 179.039 74.2022 183.645 Q71.1467 188.229 65.3365 188.229 Q59.5264 188.229 56.4477 183.645 Q53.3921 179.039 53.3921 170.312 Q53.3921 161.562 56.4477 156.979 Q59.5264 152.372 65.3365 152.372 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M82.3503 181.678 L87.2345 181.678 L87.2345 187.557 L82.3503 187.557 L82.3503 181.678 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M105.151 157.071 L93.3456 175.52 L105.151 175.52 L105.151 157.071 M103.924 152.997 L109.804 152.997 L109.804 175.52 L114.734 175.52 L114.734 179.409 L109.804 179.409 L109.804 187.557 L105.151 187.557 L105.151 179.409 L89.5493 179.409 L89.5493 174.895 L103.924 152.997 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M784.738 65.7705 L784.738 89.8329 L777.244 89.8329 L777.244 27.2059 L784.738 27.2059 L784.738 34.0924 Q787.087 30.0415 790.652 28.0971 Q794.257 26.1121 799.24 26.1121 Q807.504 26.1121 812.649 32.6746 Q817.834 39.2371 817.834 49.9314 Q817.834 60.6258 812.649 67.1883 Q807.504 73.7508 799.24 73.7508 Q794.257 73.7508 790.652 71.8063 Q787.087 69.8214 784.738 65.7705 M810.096 49.9314 Q810.096 41.7081 806.694 37.0496 Q803.331 32.3505 797.417 32.3505 Q791.503 32.3505 788.1 37.0496 Q784.738 41.7081 784.738 49.9314 Q784.738 58.1548 788.1 62.8538 Q791.503 67.5124 797.417 67.5124 Q803.331 67.5124 806.694 62.8538 Q810.096 58.1548 810.096 49.9314 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M855.507 34.0924 L855.507 9.54393 L862.961 9.54393 L862.961 72.576 L855.507 72.576 L855.507 65.7705 Q853.158 69.8214 849.552 71.8063 Q845.987 73.7508 840.964 73.7508 Q832.741 73.7508 827.556 67.1883 Q822.411 60.6258 822.411 49.9314 Q822.411 39.2371 827.556 32.6746 Q832.741 26.1121 840.964 26.1121 Q845.987 26.1121 849.552 28.0971 Q853.158 30.0415 855.507 34.0924 M830.108 49.9314 Q830.108 58.1548 833.47 62.8538 Q836.873 67.5124 842.787 67.5124 Q848.702 67.5124 852.104 62.8538 Q855.507 58.1548 855.507 49.9314 Q855.507 41.7081 852.104 37.0496 Q848.702 32.3505 842.787 32.3505 Q836.873 32.3505 833.47 37.0496 Q830.108 41.7081 830.108 49.9314 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M893.748 9.54393 L893.748 15.7418 L886.618 15.7418 Q882.608 15.7418 881.028 17.3622 Q879.488 18.9825 879.488 23.1955 L879.488 27.2059 L891.763 27.2059 L891.763 32.9987 L879.488 32.9987 L879.488 72.576 L871.994 72.576 L871.994 32.9987 L864.865 32.9987 L864.865 27.2059 L871.994 27.2059 L871.994 24.0462 Q871.994 16.471 875.519 13.0277 Q879.043 9.54393 886.699 9.54393 L893.748 9.54393 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M945.518 32.4315 Q939.523 32.4315 936.039 37.1306 Q932.555 41.7891 932.555 49.9314 Q932.555 58.0738 935.999 62.7728 Q939.482 67.4314 945.518 67.4314 Q951.473 67.4314 954.957 62.7323 Q958.441 58.0333 958.441 49.9314 Q958.441 41.8701 954.957 37.1711 Q951.473 32.4315 945.518 32.4315 M945.518 26.1121 Q955.24 26.1121 960.79 32.4315 Q966.34 38.7509 966.34 49.9314 Q966.34 61.0714 960.79 67.4314 Q955.24 73.7508 945.518 73.7508 Q935.755 73.7508 930.206 67.4314 Q924.697 61.0714 924.697 49.9314 Q924.697 38.7509 930.206 32.4315 Q935.755 26.1121 945.518 26.1121 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M997.127 9.54393 L997.127 15.7418 L989.997 15.7418 Q985.987 15.7418 984.407 17.3622 Q982.868 18.9825 982.868 23.1955 L982.868 27.2059 L995.142 27.2059 L995.142 32.9987 L982.868 32.9987 L982.868 72.576 L975.373 72.576 L975.373 32.9987 L968.244 32.9987 L968.244 27.2059 L975.373 27.2059 L975.373 24.0462 Q975.373 16.471 978.898 13.0277 Q982.422 9.54393 990.078 9.54393 L997.127 9.54393 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1031.64 12.096 L1042.66 12.096 L1069.48 62.6918 L1069.48 12.096 L1077.42 12.096 L1077.42 72.576 L1066.4 72.576 L1039.58 21.9802 L1039.58 72.576 L1031.64 72.576 L1031.64 12.096 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1103.14 9.62495 Q1097.71 18.942 1095.08 28.0566 Q1092.44 37.1711 1092.44 46.5287 Q1092.44 55.8863 1095.08 65.0818 Q1097.75 74.2369 1103.14 83.5134 L1096.66 83.5134 Q1090.58 73.9938 1087.54 64.7983 Q1084.55 55.6027 1084.55 46.5287 Q1084.55 37.4952 1087.54 28.3401 Q1090.54 19.1851 1096.66 9.62495 L1103.14 9.62495 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1129.51 17.4837 Q1123.19 17.4837 1119.99 23.7221 Q1116.83 29.92 1116.83 42.3968 Q1116.83 54.833 1119.99 61.0714 Q1123.19 67.2693 1129.51 67.2693 Q1135.87 67.2693 1139.03 61.0714 Q1142.23 54.833 1142.23 42.3968 Q1142.23 29.92 1139.03 23.7221 Q1135.87 17.4837 1129.51 17.4837 M1129.51 11.0023 Q1139.68 11.0023 1145.03 19.0636 Q1150.41 27.0843 1150.41 42.3968 Q1150.41 57.6687 1145.03 65.73 Q1139.68 73.7508 1129.51 73.7508 Q1119.34 73.7508 1113.95 65.73 Q1108.61 57.6687 1108.61 42.3968 Q1108.61 27.0843 1113.95 19.0636 Q1119.34 11.0023 1129.51 11.0023 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1160.14 62.2867 L1168.68 62.2867 L1168.68 69.2543 L1162.04 82.2172 L1156.81 82.2172 L1160.14 69.2543 L1160.14 62.2867 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1178.97 65.6895 L1192.34 65.6895 L1192.34 19.5497 L1177.8 22.4663 L1177.8 15.0127 L1192.26 12.096 L1200.44 12.096 L1200.44 65.6895 L1213.81 65.6895 L1213.81 72.576 L1178.97 72.576 L1178.97 65.6895 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1220.45 9.62495 L1226.93 9.62495 Q1233.01 19.1851 1236.01 28.3401 Q1239.05 37.4952 1239.05 46.5287 Q1239.05 55.6027 1236.01 64.7983 Q1233.01 73.9938 1226.93 83.5134 L1220.45 83.5134 Q1225.84 74.2369 1228.47 65.0818 Q1231.15 55.8863 1231.15 46.5287 Q1231.15 37.1711 1228.47 28.0566 Q1225.84 18.942 1220.45 9.62495 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><polyline clip-path=\"url(#clip792)\" style=\"stroke:#ff0000; stroke-width:8; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,1096.01 172.355,1092.45 201.175,1087.86 229.995,1081.99 258.816,1074.59 287.636,1065.36 316.457,1053.97 345.277,1040.09 374.097,1023.36 402.918,1003.45 \n",
" 431.738,980.027 460.558,952.822 489.379,921.616 518.199,886.281 547.019,846.797 575.84,803.275 604.66,755.979 633.48,705.333 662.301,651.935 691.121,596.55 \n",
" 719.942,540.106 748.762,483.672 777.582,428.427 806.403,375.626 835.223,326.549 864.043,282.457 892.864,244.533 921.684,213.835 950.504,191.24 979.325,177.409 \n",
" 1008.15,172.753 1036.97,177.409 1065.79,191.24 1094.61,213.835 1123.43,244.533 1152.25,282.457 1181.07,326.549 1209.89,375.626 1238.71,428.427 1267.53,483.672 \n",
" 1296.35,540.106 1325.17,596.55 1353.99,651.935 1382.81,705.333 1411.63,755.979 1440.45,803.275 1469.27,846.797 1498.09,886.281 1526.91,921.616 1555.73,952.822 \n",
" 1584.55,980.027 1613.37,1003.45 1642.19,1023.36 1671.01,1040.09 1699.83,1053.97 1728.65,1065.36 1757.47,1074.59 1786.29,1081.99 1815.12,1087.86 1843.94,1092.45 \n",
" 1872.76,1096.01 \n",
" \"/>\n",
"<path clip-path=\"url(#clip792)\" d=\"\n",
"M143.534 1096.01 L172.355 1092.45 L201.175 1087.86 L229.995 1081.99 L258.816 1074.59 L287.636 1065.36 L316.457 1053.97 L345.277 1040.09 L374.097 1023.36 L402.918 1003.45 \n",
" L431.738 980.027 L460.558 952.822 L489.379 921.616 L518.199 886.281 L547.019 846.797 L575.84 803.275 L604.66 755.979 L633.48 705.333 L662.301 651.935 L691.121 596.55 \n",
" L719.942 540.106 L748.762 483.672 L777.582 428.427 L806.403 375.626 L835.223 326.549 L864.043 282.457 L892.864 244.533 L921.684 213.835 L950.504 191.24 L979.325 177.409 \n",
" L1008.15 172.753 L1036.97 177.409 L1065.79 191.24 L1094.61 213.835 L1123.43 244.533 L1152.25 282.457 L1181.07 326.549 L1209.89 375.626 L1238.71 428.427 L1267.53 483.672 \n",
" L1296.35 540.106 L1325.17 596.55 L1353.99 651.935 L1382.81 705.333 L1411.63 755.979 L1440.45 803.275 L1469.27 846.797 L1469.27 1106.38 L1440.45 1106.38 L1411.63 1106.38 \n",
" L1382.81 1106.38 L1353.99 1106.38 L1325.17 1106.38 L1296.35 1106.38 L1267.53 1106.38 L1238.71 1106.38 L1209.89 1106.38 L1181.07 1106.38 L1152.25 1106.38 L1123.43 1106.38 \n",
" L1094.61 1106.38 L1065.79 1106.38 L1036.97 1106.38 L1008.15 1106.38 L979.325 1106.38 L950.504 1106.38 L921.684 1106.38 L892.864 1106.38 L864.043 1106.38 L835.223 1106.38 \n",
" L806.403 1106.38 L777.582 1106.38 L748.762 1106.38 L719.942 1106.38 L691.121 1106.38 L662.301 1106.38 L633.48 1106.38 L604.66 1106.38 L575.84 1106.38 L547.019 1106.38 \n",
" L518.199 1106.38 L489.379 1106.38 L460.558 1106.38 L431.738 1106.38 L402.918 1106.38 L374.097 1106.38 L345.277 1106.38 L316.457 1106.38 L287.636 1106.38 L258.816 1106.38 \n",
" L229.995 1106.38 L201.175 1106.38 L172.355 1106.38 L143.534 1106.38 Z\n",
" \" fill=\"#ff0000\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip792)\" style=\"stroke:#e26f46; stroke-width:8; stroke-opacity:1; fill:none\" points=\"\n",
" 143.534,1096.01 172.355,1092.45 201.175,1087.86 229.995,1081.99 258.816,1074.59 287.636,1065.36 316.457,1053.97 345.277,1040.09 374.097,1023.36 402.918,1003.45 \n",
" 431.738,980.027 460.558,952.822 489.379,921.616 518.199,886.281 547.019,846.797 575.84,803.275 604.66,755.979 633.48,705.333 662.301,651.935 691.121,596.55 \n",
" 719.942,540.106 748.762,483.672 777.582,428.427 806.403,375.626 835.223,326.549 864.043,282.457 892.864,244.533 921.684,213.835 950.504,191.24 979.325,177.409 \n",
" 1008.15,172.753 1036.97,177.409 1065.79,191.24 1094.61,213.835 1123.43,244.533 1152.25,282.457 1181.07,326.549 1209.89,375.626 1238.71,428.427 1267.53,483.672 \n",
" 1296.35,540.106 1325.17,596.55 1353.99,651.935 1382.81,705.333 1411.63,755.979 1440.45,803.275 1469.27,846.797 \n",
" \"/>\n",
"<path clip-path=\"url(#clip790)\" d=\"M 0 0 M1350.78 479.389 L1350.78 486.75 L1359.55 486.75 L1359.55 490.06 L1350.78 490.06 L1350.78 504.134 Q1350.78 507.305 1351.63 508.208 Q1352.51 509.111 1355.18 509.111 L1359.55 509.111 L1359.55 512.676 L1355.18 512.676 Q1350.25 512.676 1348.37 510.847 Q1346.5 508.995 1346.5 504.134 L1346.5 490.06 L1343.37 490.06 L1343.37 486.75 L1346.5 486.75 L1346.5 479.389 L1350.78 479.389 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1385.57 497.028 L1385.57 512.676 L1381.31 512.676 L1381.31 497.167 Q1381.31 493.486 1379.87 491.657 Q1378.44 489.829 1375.57 489.829 Q1372.12 489.829 1370.13 492.028 Q1368.14 494.227 1368.14 498.023 L1368.14 512.676 L1363.86 512.676 L1363.86 476.657 L1368.14 476.657 L1368.14 490.778 Q1369.67 488.44 1371.73 487.282 Q1373.81 486.125 1376.52 486.125 Q1380.99 486.125 1383.28 488.903 Q1385.57 491.657 1385.57 497.028 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1412.21 498.648 L1412.21 500.731 L1392.63 500.731 Q1392.91 505.129 1395.27 507.444 Q1397.65 509.736 1401.89 509.736 Q1404.34 509.736 1406.63 509.134 Q1408.95 508.532 1411.22 507.329 L1411.22 511.356 Q1408.93 512.329 1406.52 512.838 Q1404.11 513.347 1401.63 513.347 Q1395.43 513.347 1391.8 509.736 Q1388.18 506.125 1388.18 499.967 Q1388.18 493.602 1391.61 489.875 Q1395.06 486.125 1400.89 486.125 Q1406.12 486.125 1409.16 489.505 Q1412.21 492.861 1412.21 498.648 M1407.95 497.398 Q1407.91 493.903 1405.99 491.819 Q1404.09 489.736 1400.94 489.736 Q1397.37 489.736 1395.22 491.75 Q1393.09 493.764 1392.77 497.421 L1407.95 497.398 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1443.53 499.643 Q1438.37 499.643 1436.38 500.824 Q1434.39 502.004 1434.39 504.852 Q1434.39 507.12 1435.87 508.463 Q1437.37 509.782 1439.94 509.782 Q1443.49 509.782 1445.62 507.282 Q1447.77 504.759 1447.77 500.592 L1447.77 499.643 L1443.53 499.643 M1452.03 497.884 L1452.03 512.676 L1447.77 512.676 L1447.77 508.741 Q1446.31 511.102 1444.13 512.236 Q1441.96 513.347 1438.81 513.347 Q1434.83 513.347 1432.47 511.125 Q1430.13 508.879 1430.13 505.129 Q1430.13 500.754 1433.05 498.532 Q1435.99 496.31 1441.8 496.31 L1447.77 496.31 L1447.77 495.893 Q1447.77 492.954 1445.82 491.356 Q1443.9 489.736 1440.41 489.736 Q1438.18 489.736 1436.08 490.268 Q1433.97 490.801 1432.03 491.866 L1432.03 487.93 Q1434.37 487.028 1436.56 486.588 Q1438.76 486.125 1440.85 486.125 Q1446.47 486.125 1449.25 489.042 Q1452.03 491.958 1452.03 497.884 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1471.52 490.731 Q1470.8 490.315 1469.94 490.13 Q1469.11 489.921 1468.09 489.921 Q1464.48 489.921 1462.54 492.282 Q1460.62 494.62 1460.62 499.018 L1460.62 512.676 L1456.33 512.676 L1456.33 486.75 L1460.62 486.75 L1460.62 490.778 Q1461.96 488.417 1464.11 487.282 Q1466.26 486.125 1469.34 486.125 Q1469.78 486.125 1470.31 486.194 Q1470.85 486.241 1471.49 486.356 L1471.52 490.731 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1497.12 498.648 L1497.12 500.731 L1477.54 500.731 Q1477.81 505.129 1480.18 507.444 Q1482.56 509.736 1486.8 509.736 Q1489.25 509.736 1491.54 509.134 Q1493.86 508.532 1496.12 507.329 L1496.12 511.356 Q1493.83 512.329 1491.43 512.838 Q1489.02 513.347 1486.54 513.347 Q1480.34 513.347 1476.7 509.736 Q1473.09 506.125 1473.09 499.967 Q1473.09 493.602 1476.52 489.875 Q1479.97 486.125 1485.8 486.125 Q1491.03 486.125 1494.06 489.505 Q1497.12 492.861 1497.12 498.648 M1492.86 497.398 Q1492.81 493.903 1490.89 491.819 Q1488.99 489.736 1485.85 489.736 Q1482.28 489.736 1480.13 491.75 Q1478 493.764 1477.68 497.421 L1492.86 497.398 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1513.37 499.643 Q1508.21 499.643 1506.22 500.824 Q1504.23 502.004 1504.23 504.852 Q1504.23 507.12 1505.71 508.463 Q1507.21 509.782 1509.78 509.782 Q1513.32 509.782 1515.45 507.282 Q1517.61 504.759 1517.61 500.592 L1517.61 499.643 L1513.37 499.643 M1521.86 497.884 L1521.86 512.676 L1517.61 512.676 L1517.61 508.741 Q1516.15 511.102 1513.97 512.236 Q1511.8 513.347 1508.65 513.347 Q1504.67 513.347 1502.3 511.125 Q1499.97 508.879 1499.97 505.129 Q1499.97 500.754 1502.88 498.532 Q1505.82 496.31 1511.63 496.31 L1517.61 496.31 L1517.61 495.893 Q1517.61 492.954 1515.66 491.356 Q1513.74 489.736 1510.24 489.736 Q1508.02 489.736 1505.92 490.268 Q1503.81 490.801 1501.86 491.866 L1501.86 487.93 Q1504.2 487.028 1506.4 486.588 Q1508.6 486.125 1510.68 486.125 Q1516.31 486.125 1519.09 489.042 Q1521.86 491.958 1521.86 497.884 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1560.06 487.745 L1560.06 491.727 Q1558.25 490.731 1556.42 490.245 Q1554.62 489.736 1552.77 489.736 Q1548.62 489.736 1546.33 492.375 Q1544.04 494.991 1544.04 499.736 Q1544.04 504.481 1546.33 507.12 Q1548.62 509.736 1552.77 509.736 Q1554.62 509.736 1556.42 509.25 Q1558.25 508.741 1560.06 507.745 L1560.06 511.68 Q1558.28 512.514 1556.36 512.93 Q1554.46 513.347 1552.3 513.347 Q1546.45 513.347 1543 509.666 Q1539.55 505.986 1539.55 499.736 Q1539.55 493.393 1543.02 489.759 Q1546.52 486.125 1552.58 486.125 Q1554.55 486.125 1556.42 486.542 Q1558.3 486.935 1560.06 487.745 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1574.57 489.736 Q1571.15 489.736 1569.16 492.421 Q1567.17 495.083 1567.17 499.736 Q1567.17 504.389 1569.13 507.074 Q1571.12 509.736 1574.57 509.736 Q1577.98 509.736 1579.97 507.051 Q1581.96 504.366 1581.96 499.736 Q1581.96 495.13 1579.97 492.444 Q1577.98 489.736 1574.57 489.736 M1574.57 486.125 Q1580.13 486.125 1583.3 489.736 Q1586.47 493.347 1586.47 499.736 Q1586.47 506.102 1583.3 509.736 Q1580.13 513.347 1574.57 513.347 Q1568.99 513.347 1565.82 509.736 Q1562.67 506.102 1562.67 499.736 Q1562.67 493.347 1565.82 489.736 Q1568.99 486.125 1574.57 486.125 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1587.88 486.75 L1592.4 486.75 L1600.5 508.509 L1608.6 486.75 L1613.11 486.75 L1603.39 512.676 L1597.61 512.676 L1587.88 486.75 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1639.76 498.648 L1639.76 500.731 L1620.17 500.731 Q1620.45 505.129 1622.81 507.444 Q1625.2 509.736 1629.43 509.736 Q1631.89 509.736 1634.18 509.134 Q1636.49 508.532 1638.76 507.329 L1638.76 511.356 Q1636.47 512.329 1634.06 512.838 Q1631.66 513.347 1629.18 513.347 Q1622.98 513.347 1619.34 509.736 Q1615.73 506.125 1615.73 499.967 Q1615.73 493.602 1619.16 489.875 Q1622.6 486.125 1628.44 486.125 Q1633.67 486.125 1636.7 489.505 Q1639.76 492.861 1639.76 498.648 M1635.5 497.398 Q1635.45 493.903 1633.53 491.819 Q1631.63 489.736 1628.48 489.736 Q1624.92 489.736 1622.77 491.75 Q1620.64 493.764 1620.31 497.421 L1635.5 497.398 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1659.25 490.731 Q1658.53 490.315 1657.67 490.13 Q1656.84 489.921 1655.82 489.921 Q1652.21 489.921 1650.27 492.282 Q1648.35 494.62 1648.35 499.018 L1648.35 512.676 L1644.06 512.676 L1644.06 486.75 L1648.35 486.75 L1648.35 490.778 Q1649.69 488.417 1651.84 487.282 Q1653.99 486.125 1657.07 486.125 Q1657.51 486.125 1658.04 486.194 Q1658.58 486.241 1659.23 486.356 L1659.25 490.731 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1680.24 487.514 L1680.24 491.542 Q1678.44 490.616 1676.49 490.153 Q1674.55 489.69 1672.47 489.69 Q1669.29 489.69 1667.7 490.662 Q1666.12 491.634 1666.12 493.579 Q1666.12 495.06 1667.26 495.917 Q1668.39 496.75 1671.82 497.514 L1673.28 497.838 Q1677.81 498.81 1679.71 500.592 Q1681.63 502.352 1681.63 505.523 Q1681.63 509.134 1678.76 511.241 Q1675.91 513.347 1670.91 513.347 Q1668.83 513.347 1666.56 512.93 Q1664.32 512.537 1661.82 511.727 L1661.82 507.329 Q1664.18 508.555 1666.47 509.18 Q1668.76 509.782 1671.01 509.782 Q1674.02 509.782 1675.64 508.764 Q1677.26 507.722 1677.26 505.847 Q1677.26 504.111 1676.08 503.185 Q1674.92 502.259 1670.96 501.403 L1669.48 501.055 Q1665.52 500.222 1663.76 498.509 Q1662 496.773 1662 493.764 Q1662 490.106 1664.6 488.116 Q1667.19 486.125 1671.96 486.125 Q1674.32 486.125 1676.4 486.472 Q1678.48 486.819 1680.24 487.514 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1362.07 554.284 L1362.07 538.59 L1366.33 538.59 L1366.33 554.122 Q1366.33 557.803 1367.77 559.655 Q1369.2 561.483 1372.07 561.483 Q1375.52 561.483 1377.51 559.284 Q1379.53 557.085 1379.53 553.289 L1379.53 538.59 L1383.79 538.59 L1383.79 564.516 L1379.53 564.516 L1379.53 560.534 Q1377.98 562.895 1375.92 564.053 Q1373.88 565.187 1371.17 565.187 Q1366.7 565.187 1364.39 562.409 Q1362.07 559.631 1362.07 554.284 M1372.79 537.965 L1372.79 537.965 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1392.37 560.627 L1392.37 574.377 L1388.09 574.377 L1388.09 538.59 L1392.37 538.59 L1392.37 542.525 Q1393.72 540.21 1395.75 539.099 Q1397.81 537.965 1400.66 537.965 Q1405.38 537.965 1408.32 541.715 Q1411.29 545.465 1411.29 551.576 Q1411.29 557.687 1408.32 561.437 Q1405.38 565.187 1400.66 565.187 Q1397.81 565.187 1395.75 564.076 Q1393.72 562.942 1392.37 560.627 M1406.87 551.576 Q1406.87 546.877 1404.92 544.215 Q1403 541.53 1399.62 541.53 Q1396.24 541.53 1394.3 544.215 Q1392.37 546.877 1392.37 551.576 Q1392.37 556.275 1394.3 558.96 Q1396.24 561.622 1399.62 561.622 Q1403 561.622 1404.92 558.96 Q1406.87 556.275 1406.87 551.576 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1435.04 531.229 L1435.04 538.59 L1443.81 538.59 L1443.81 541.9 L1435.04 541.9 L1435.04 555.974 Q1435.04 559.145 1435.89 560.048 Q1436.77 560.951 1439.43 560.951 L1443.81 560.951 L1443.81 564.516 L1439.43 564.516 Q1434.5 564.516 1432.63 562.687 Q1430.75 560.835 1430.75 555.974 L1430.75 541.9 L1427.63 541.9 L1427.63 538.59 L1430.75 538.59 L1430.75 531.229 L1435.04 531.229 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1458.32 541.576 Q1454.9 541.576 1452.91 544.261 Q1450.92 546.923 1450.92 551.576 Q1450.92 556.229 1452.88 558.914 Q1454.87 561.576 1458.32 561.576 Q1461.73 561.576 1463.72 558.891 Q1465.71 556.206 1465.71 551.576 Q1465.71 546.97 1463.72 544.284 Q1461.73 541.576 1458.32 541.576 M1458.32 537.965 Q1463.88 537.965 1467.05 541.576 Q1470.22 545.187 1470.22 551.576 Q1470.22 557.942 1467.05 561.576 Q1463.88 565.187 1458.32 565.187 Q1452.74 565.187 1449.57 561.576 Q1446.43 557.942 1446.43 551.576 Q1446.43 545.187 1449.57 541.576 Q1452.74 537.965 1458.32 537.965 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1511.31 538.59 L1501.93 551.206 L1511.8 564.516 L1506.77 564.516 L1499.23 554.331 L1491.68 564.516 L1486.66 564.516 L1496.73 550.951 L1487.51 538.59 L1492.54 538.59 L1499.41 547.826 L1506.29 538.59 L1511.31 538.59 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1516.82 542.988 L1546.49 542.988 L1546.49 546.877 L1516.82 546.877 L1516.82 542.988 M1516.82 552.432 L1546.49 552.432 L1546.49 556.368 L1516.82 556.368 L1516.82 552.432 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1552.37 560.581 L1560.01 560.581 L1560.01 534.215 L1551.7 535.882 L1551.7 531.622 L1559.97 529.956 L1564.64 529.956 L1564.64 560.581 L1572.28 560.581 L1572.28 564.516 L1552.37 564.516 L1552.37 560.581 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1577.35 558.636 L1582.23 558.636 L1582.23 564.516 L1577.35 564.516 L1577.35 558.636 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1597.88 545.372 Q1594.73 545.372 1592.88 547.525 Q1591.05 549.678 1591.05 553.428 Q1591.05 557.155 1592.88 559.331 Q1594.73 561.483 1597.88 561.483 Q1601.03 561.483 1602.86 559.331 Q1604.71 557.155 1604.71 553.428 Q1604.71 549.678 1602.86 547.525 Q1601.03 545.372 1597.88 545.372 M1607.17 530.72 L1607.17 534.979 Q1605.41 534.146 1603.6 533.706 Q1601.82 533.266 1600.06 533.266 Q1595.43 533.266 1592.98 536.391 Q1590.54 539.516 1590.2 545.835 Q1591.56 543.821 1593.62 542.757 Q1595.68 541.669 1598.16 541.669 Q1603.37 541.669 1606.38 544.84 Q1609.41 547.988 1609.41 553.428 Q1609.41 558.752 1606.26 561.969 Q1603.11 565.187 1597.88 565.187 Q1591.89 565.187 1588.72 560.604 Q1585.55 555.997 1585.55 547.27 Q1585.55 539.076 1589.43 534.215 Q1593.32 529.331 1599.87 529.331 Q1601.63 529.331 1603.42 529.678 Q1605.22 530.025 1607.17 530.72 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1627.33 534.03 L1615.52 552.479 L1627.33 552.479 L1627.33 534.03 M1626.1 529.956 L1631.98 529.956 L1631.98 552.479 L1636.91 552.479 L1636.91 556.368 L1631.98 556.368 L1631.98 564.516 L1627.33 564.516 L1627.33 556.368 L1611.73 556.368 L1611.73 551.854 L1626.1 529.956 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip790)\" d=\"M 0 0 M1642.03 529.956 L1660.38 529.956 L1660.38 533.891 L1646.31 533.891 L1646.31 542.363 Q1647.33 542.016 1648.35 541.854 Q1649.36 541.669 1650.38 541.669 Q1656.17 541.669 1659.55 544.84 Q1662.93 548.011 1662.93 553.428 Q1662.93 559.006 1659.46 562.108 Q1655.98 565.187 1649.67 565.187 Q1647.49 565.187 1645.22 564.817 Q1642.98 564.446 1640.57 563.706 L1640.57 559.006 Q1642.65 560.141 1644.87 560.696 Q1647.1 561.252 1649.57 561.252 Q1653.58 561.252 1655.92 559.145 Q1658.25 557.039 1658.25 553.428 Q1658.25 549.817 1655.92 547.71 Q1653.58 545.604 1649.57 545.604 Q1647.7 545.604 1645.82 546.02 Q1643.97 546.437 1642.03 547.317 L1642.03 529.956 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /></svg>\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x = -3:0.1:3\n",
"xb = x[x.<=1.645]\n",
"\n",
"p1 = plot( x,ϕNS.(x),\n",
" linecolor = :red,\n",
" linewidth = 2,\n",
" ylims = (0,0.42),\n",
" xlims = (-3,3),\n",
" legend = nothing,\n",
" title = \"pdf of N(0,1)\",\n",
" xlabel = \"x\",\n",
" ylabel = \"\",\n",
" annotation = (1.75,0.25,text(\"the area covers\\nup to x=1.645\",8)) )\n",
"plot!(xb,ϕNS.(xb),fillcolor=:red,linewidth=2,legend=nothing,fill=(0,:red))\n",
"display(p1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Calculating Prob(x<=1.645)\n",
"\n",
"The next cell calculates (by numeric integration)\n",
"\n",
"$\\int_{-\\infty}^{1.645}\\phi(x,0,\\sigma)dx$,\n",
"\n",
"where $\\phi(x,\\mu,\\sigma)$ is the pdf of an $N(\\mu,\\sigma)$ variable.\n",
"\n",
"\n",
"The input to `quadgk` should be a function with only one argument. We do that by creating an anonymous function\n",
"```\n",
"x->fn(x,a)\n",
"```\n",
"assuming that `a` has a value already."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Pr(x<=1.64) according to N(0,1): 0.950\n",
"\n",
"Pr(x<=1.64) according to N(0,2): 0.795\n"
]
}
],
"source": [
"cdf1, = quadgk(x->ϕNS(x),-Inf,1.645) #N(0,1)\n",
"printlnPs(\"\\nPr(x<=1.64) according to N(0,1):\", cdf1)\n",
"\n",
"cdf2, = quadgk(x->ϕNS(x,0,2),-Inf,1.645) #N(0,σ=2)\n",
"printlnPs(\"\\nPr(x<=1.64) according to N(0,2):\", cdf2)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"# Numerical Derivatives\n",
"\n",
"Numerical derivatives can be calculated by a crude finite difference (see `NumDer()` below) or by the much more sophisticated routines in the `ForwardDiff` package.\n",
"\n",
"To do this calculation for many `x` values, we loop (either a `for` loop or list comprehension). Dot syntax, `ForwardDiff.derivative.()`, seems to work, but is not documented."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"NumDer (generic function with 1 method)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function NumDer(fun,b0,h) #crude function for a centered numerical derivative\n",
" bminus = b0 .- h\n",
" bplus = b0 .+ h\n",
" hh = bplus - bminus\n",
" fplus = fun(bplus)\n",
" fminus = fun(bminus)\n",
" D = (fplus-fminus)/hh\n",
" return D\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"fn1 (generic function with 1 method)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function fn1(x,a) #a simple function, to be differentiated\n",
" return (x - 1.1)^2 - a\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The derivative at x=2 is (from two different methods): \n",
" 1.800 1.800\n",
"\n"
]
}
],
"source": [
"x0 = 2\n",
"\n",
"dydx_A = NumDer(x->fn1(x,0.5),x0,0.01) #differentiate fn1(x,0.5) at x = x0\n",
"dydx_B = ForwardDiff.derivative(x->fn1(x,0.5),x0)\n",
"\n",
"println(\"The derivative at x=$x0 is (from two different methods): \")\n",
"printmat([dydx_A dydx_B])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"now lets plot this\n"
]
}
],
"source": [
"x = -3:6/99:6 #calculate the derivative at many points\n",
"\n",
"dydx_A = [NumDer(x->fn1(x,0.5),x[i],0.01) for i=1:length(x)] #list comprehension as a quick loop\n",
"\n",
"dydx_B = [ForwardDiff.derivative(x->fn1(x,0.5),x[i]) for i=1:length(x)]\n",
"\n",
"println(\"now lets plot this\")"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"480\" height=\"320\" viewBox=\"0 0 1920 1280\">\n",
"<defs>\n",
" <clipPath id=\"clip830\">\n",
" <rect x=\"0\" y=\"0\" width=\"1920\" height=\"1280\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip830)\" d=\"\n",
"M0 1280 L1920 1280 L1920 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip831\">\n",
" <rect x=\"384\" y=\"0\" width=\"1345\" height=\"1280\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip830)\" d=\"\n",
"M137.886 1106.38 L1872.76 1106.38 L1872.76 123.472 L137.886 123.472 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip832\">\n",
" <rect x=\"137\" y=\"123\" width=\"1736\" height=\"984\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 369.453,1106.38 369.453,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 734.386,1106.38 734.386,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1099.32,1106.38 1099.32,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1464.25,1106.38 1464.25,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1829.19,1106.38 1829.19,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 137.886,1106.38 1872.76,1106.38 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 369.453,1106.38 369.453,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 734.386,1106.38 734.386,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1099.32,1106.38 1099.32,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1464.25,1106.38 1464.25,1094.58 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1829.19,1106.38 1829.19,1094.58 \n",
" \"/>\n",
"<path clip-path=\"url(#clip830)\" d=\"M 0 0 M341.907 1146.38 L371.583 1146.38 L371.583 1150.32 L341.907 1150.32 L341.907 1146.38 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M380.68 1159.28 L396.999 1159.28 L396.999 1163.21 L375.055 1163.21 L375.055 1159.28 Q377.717 1156.52 382.3 1151.89 Q386.906 1147.24 388.087 1145.9 Q390.332 1143.37 391.212 1141.64 Q392.115 1139.88 392.115 1138.19 Q392.115 1135.43 390.17 1133.7 Q388.249 1131.96 385.147 1131.96 Q382.948 1131.96 380.494 1132.73 Q378.064 1133.49 375.286 1135.04 L375.286 1130.32 Q378.11 1129.18 380.564 1128.61 Q383.018 1128.03 385.055 1128.03 Q390.425 1128.03 393.619 1130.71 Q396.814 1133.4 396.814 1137.89 Q396.814 1140.02 396.004 1141.94 Q395.217 1143.84 393.11 1146.43 Q392.531 1147.1 389.43 1150.32 Q386.328 1153.51 380.68 1159.28 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M734.386 1131.73 Q730.775 1131.73 728.946 1135.3 Q727.141 1138.84 727.141 1145.97 Q727.141 1153.07 728.946 1156.64 Q730.775 1160.18 734.386 1160.18 Q738.02 1160.18 739.826 1156.64 Q741.654 1153.07 741.654 1145.97 Q741.654 1138.84 739.826 1135.3 Q738.02 1131.73 734.386 1131.73 M734.386 1128.03 Q740.196 1128.03 743.252 1132.63 Q746.33 1137.22 746.33 1145.97 Q746.33 1154.69 743.252 1159.3 Q740.196 1163.88 734.386 1163.88 Q728.576 1163.88 725.497 1159.3 Q722.442 1154.69 722.442 1145.97 Q722.442 1137.22 725.497 1132.63 Q728.576 1128.03 734.386 1128.03 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1093.97 1159.28 L1110.29 1159.28 L1110.29 1163.21 L1088.35 1163.21 L1088.35 1159.28 Q1091.01 1156.52 1095.59 1151.89 Q1100.2 1147.24 1101.38 1145.9 Q1103.62 1143.37 1104.5 1141.64 Q1105.41 1139.88 1105.41 1138.19 Q1105.41 1135.43 1103.46 1133.7 Q1101.54 1131.96 1098.44 1131.96 Q1096.24 1131.96 1093.79 1132.73 Q1091.36 1133.49 1088.58 1135.04 L1088.58 1130.32 Q1091.4 1129.18 1093.86 1128.61 Q1096.31 1128.03 1098.35 1128.03 Q1103.72 1128.03 1106.91 1130.71 Q1110.11 1133.4 1110.11 1137.89 Q1110.11 1140.02 1109.3 1141.94 Q1108.51 1143.84 1106.4 1146.43 Q1105.82 1147.1 1102.72 1150.32 Q1099.62 1153.51 1093.97 1159.28 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1467.26 1132.73 L1455.46 1151.17 L1467.26 1151.17 L1467.26 1132.73 M1466.03 1128.65 L1471.91 1128.65 L1471.91 1151.17 L1476.84 1151.17 L1476.84 1155.06 L1471.91 1155.06 L1471.91 1163.21 L1467.26 1163.21 L1467.26 1155.06 L1451.66 1155.06 L1451.66 1150.55 L1466.03 1128.65 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1829.59 1144.07 Q1826.44 1144.07 1824.59 1146.22 Q1822.76 1148.37 1822.76 1152.12 Q1822.76 1155.85 1824.59 1158.03 Q1826.44 1160.18 1829.59 1160.18 Q1832.74 1160.18 1834.57 1158.03 Q1836.42 1155.85 1836.42 1152.12 Q1836.42 1148.37 1834.57 1146.22 Q1832.74 1144.07 1829.59 1144.07 M1838.87 1129.42 L1838.87 1133.67 Q1837.11 1132.84 1835.31 1132.4 Q1833.53 1131.96 1831.77 1131.96 Q1827.14 1131.96 1824.68 1135.09 Q1822.25 1138.21 1821.91 1144.53 Q1823.27 1142.52 1825.33 1141.45 Q1827.39 1140.36 1829.87 1140.36 Q1835.08 1140.36 1838.09 1143.54 Q1841.12 1146.68 1841.12 1152.12 Q1841.12 1157.45 1837.97 1160.67 Q1834.82 1163.88 1829.59 1163.88 Q1823.59 1163.88 1820.42 1159.3 Q1817.25 1154.69 1817.25 1145.97 Q1817.25 1137.77 1821.14 1132.91 Q1825.03 1128.03 1831.58 1128.03 Q1833.34 1128.03 1835.12 1128.37 Q1836.93 1128.72 1838.87 1129.42 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1021.94 1208.4 L1009.05 1225.74 L1022.6 1244.04 L1015.7 1244.04 L1005.32 1230.04 L994.945 1244.04 L988.038 1244.04 L1001.88 1225.39 L989.216 1208.4 L996.123 1208.4 L1005.58 1221.1 L1015.03 1208.4 L1021.94 1208.4 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 137.886,984.105 1872.76,984.105 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 137.886,836.516 1872.76,836.516 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 137.886,688.926 1872.76,688.926 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 137.886,541.337 1872.76,541.337 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 137.886,393.748 1872.76,393.748 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 137.886,246.159 1872.76,246.159 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 137.886,1106.38 137.886,123.472 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 137.886,984.105 158.705,984.105 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 137.886,836.516 158.705,836.516 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 137.886,688.926 158.705,688.926 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 137.886,541.337 158.705,541.337 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 137.886,393.748 158.705,393.748 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 137.886,246.159 158.705,246.159 \n",
" \"/>\n",
"<path clip-path=\"url(#clip830)\" d=\"M 0 0 M53.3921 984.556 L83.0679 984.556 L83.0679 988.491 L53.3921 988.491 L53.3921 984.556 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M88.1836 966.825 L106.54 966.825 L106.54 970.76 L92.466 970.76 L92.466 979.232 Q93.4845 978.885 94.503 978.723 Q95.5215 978.538 96.54 978.538 Q102.327 978.538 105.707 981.709 Q109.086 984.88 109.086 990.297 Q109.086 995.875 105.614 998.977 Q102.142 1002.06 95.8225 1002.06 Q93.6465 1002.06 91.378 1001.69 Q89.1327 1001.32 86.7253 1000.57 L86.7253 995.875 Q88.8086 997.01 91.0308 997.565 Q93.253 998.121 95.7299 998.121 Q99.7345 998.121 102.072 996.014 Q104.41 993.908 104.41 990.297 Q104.41 986.686 102.072 984.579 Q99.7345 982.473 95.7299 982.473 Q93.8549 982.473 91.9799 982.889 Q90.128 983.306 88.1836 984.186 L88.1836 966.825 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M97.1419 822.314 Q93.5308 822.314 91.7021 825.879 Q89.8966 829.421 89.8966 836.55 Q89.8966 843.657 91.7021 847.221 Q93.5308 850.763 97.1419 850.763 Q100.776 850.763 102.582 847.221 Q104.41 843.657 104.41 836.55 Q104.41 829.421 102.582 825.879 Q100.776 822.314 97.1419 822.314 M97.1419 818.611 Q102.952 818.611 106.008 823.217 Q109.086 827.8 109.086 836.55 Q109.086 845.277 106.008 849.884 Q102.952 854.467 97.1419 854.467 Q91.3317 854.467 88.2531 849.884 Q85.1975 845.277 85.1975 836.55 Q85.1975 827.8 88.2531 823.217 Q91.3317 818.611 97.1419 818.611 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M88.1836 671.646 L106.54 671.646 L106.54 675.582 L92.466 675.582 L92.466 684.054 Q93.4845 683.707 94.503 683.544 Q95.5215 683.359 96.54 683.359 Q102.327 683.359 105.707 686.531 Q109.086 689.702 109.086 695.119 Q109.086 700.697 105.614 703.799 Q102.142 706.878 95.8225 706.878 Q93.6465 706.878 91.378 706.507 Q89.1327 706.137 86.7253 705.396 L86.7253 700.697 Q88.8086 701.831 91.0308 702.387 Q93.253 702.943 95.7299 702.943 Q99.7345 702.943 102.072 700.836 Q104.41 698.73 104.41 695.119 Q104.41 691.507 102.072 689.401 Q99.7345 687.294 95.7299 687.294 Q93.8549 687.294 91.9799 687.711 Q90.128 688.128 88.1836 689.007 L88.1836 671.646 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M62.1652 554.682 L69.8041 554.682 L69.8041 528.317 L61.4939 529.983 L61.4939 525.724 L69.7578 524.057 L74.4337 524.057 L74.4337 554.682 L82.0725 554.682 L82.0725 558.617 L62.1652 558.617 L62.1652 554.682 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M97.1419 527.136 Q93.5308 527.136 91.7021 530.701 Q89.8966 534.242 89.8966 541.372 Q89.8966 548.478 91.7021 552.043 Q93.5308 555.585 97.1419 555.585 Q100.776 555.585 102.582 552.043 Q104.41 548.478 104.41 541.372 Q104.41 534.242 102.582 530.701 Q100.776 527.136 97.1419 527.136 M97.1419 523.432 Q102.952 523.432 106.008 528.039 Q109.086 532.622 109.086 541.372 Q109.086 550.099 106.008 554.705 Q102.952 559.289 97.1419 559.289 Q91.3317 559.289 88.2531 554.705 Q85.1975 550.099 85.1975 541.372 Q85.1975 532.622 88.2531 528.039 Q91.3317 523.432 97.1419 523.432 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M63.1606 407.093 L70.7994 407.093 L70.7994 380.727 L62.4893 382.394 L62.4893 378.135 L70.7531 376.468 L75.429 376.468 L75.429 407.093 L83.0679 407.093 L83.0679 411.028 L63.1606 411.028 L63.1606 407.093 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M88.1836 376.468 L106.54 376.468 L106.54 380.403 L92.466 380.403 L92.466 388.876 Q93.4845 388.528 94.503 388.366 Q95.5215 388.181 96.54 388.181 Q102.327 388.181 105.707 391.352 Q109.086 394.524 109.086 399.94 Q109.086 405.519 105.614 408.621 Q102.142 411.699 95.8225 411.699 Q93.6465 411.699 91.378 411.329 Q89.1327 410.959 86.7253 410.218 L86.7253 405.519 Q88.8086 406.653 91.0308 407.209 Q93.253 407.764 95.7299 407.764 Q99.7345 407.764 102.072 405.658 Q104.41 403.551 104.41 399.94 Q104.41 396.329 102.072 394.223 Q99.7345 392.116 95.7299 392.116 Q93.8549 392.116 91.9799 392.533 Q90.128 392.95 88.1836 393.829 L88.1836 376.468 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M65.7532 259.504 L82.0725 259.504 L82.0725 263.439 L60.1282 263.439 L60.1282 259.504 Q62.7902 256.749 67.3735 252.12 Q71.98 247.467 73.1605 246.124 Q75.4059 243.601 76.2855 241.865 Q77.1883 240.106 77.1883 238.416 Q77.1883 235.661 75.2439 233.925 Q73.3226 232.189 70.2207 232.189 Q68.0217 232.189 65.568 232.953 Q63.1374 233.717 60.3597 235.268 L60.3597 230.546 Q63.1837 229.411 65.6374 228.833 Q68.0911 228.254 70.1281 228.254 Q75.4985 228.254 78.6929 230.939 Q81.8873 233.624 81.8873 238.115 Q81.8873 240.245 81.0772 242.166 Q80.2901 244.064 78.1837 246.657 Q77.605 247.328 74.5031 250.546 Q71.4013 253.74 65.7532 259.504 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M97.1419 231.958 Q93.5308 231.958 91.7021 235.523 Q89.8966 239.064 89.8966 246.194 Q89.8966 253.3 91.7021 256.865 Q93.5308 260.407 97.1419 260.407 Q100.776 260.407 102.582 256.865 Q104.41 253.3 104.41 246.194 Q104.41 239.064 102.582 235.523 Q100.776 231.958 97.1419 231.958 M97.1419 228.254 Q102.952 228.254 106.008 232.861 Q109.086 237.444 109.086 246.194 Q109.086 254.921 106.008 259.527 Q102.952 264.11 97.1419 264.11 Q91.3317 264.11 88.2531 259.527 Q85.1975 254.921 85.1975 246.194 Q85.1975 237.444 88.2531 232.861 Q91.3317 228.254 97.1419 228.254 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M614.854 9.54393 L614.854 15.7418 L607.725 15.7418 Q603.714 15.7418 602.135 17.3622 Q600.595 18.9825 600.595 23.1955 L600.595 27.2059 L612.869 27.2059 L612.869 32.9987 L600.595 32.9987 L600.595 72.576 L593.101 72.576 L593.101 32.9987 L585.971 32.9987 L585.971 27.2059 L593.101 27.2059 L593.101 24.0462 Q593.101 16.471 596.625 13.0277 Q600.15 9.54393 607.806 9.54393 L614.854 9.54393 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M660.387 45.1919 L660.387 72.576 L652.933 72.576 L652.933 45.4349 Q652.933 38.994 650.421 35.7938 Q647.91 32.5936 642.887 32.5936 Q636.851 32.5936 633.367 36.4419 Q629.883 40.2903 629.883 46.9338 L629.883 72.576 L622.389 72.576 L622.389 27.2059 L629.883 27.2059 L629.883 34.2544 Q632.557 30.163 636.162 28.1376 Q639.808 26.1121 644.548 26.1121 Q652.366 26.1121 656.376 30.9732 Q660.387 35.7938 660.387 45.1919 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M670.676 65.6895 L684.044 65.6895 L684.044 19.5497 L669.501 22.4663 L669.501 15.0127 L683.963 12.096 L692.146 12.096 L692.146 65.6895 L705.514 65.6895 L705.514 72.576 L670.676 72.576 L670.676 65.6895 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M731.237 9.62495 Q725.809 18.942 723.176 28.0566 Q720.543 37.1711 720.543 46.5287 Q720.543 55.8863 723.176 65.0818 Q725.849 74.2369 731.237 83.5134 L724.755 83.5134 Q718.679 73.9938 715.641 64.7983 Q712.643 55.6027 712.643 46.5287 Q712.643 37.4952 715.641 28.3401 Q718.639 19.1851 724.755 9.62495 L731.237 9.62495 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M737.88 9.62495 L744.362 9.62495 Q750.438 19.1851 753.436 28.3401 Q756.474 37.4952 756.474 46.5287 Q756.474 55.6027 753.436 64.7983 Q750.438 73.9938 744.362 83.5134 L737.88 83.5134 Q743.268 74.2369 745.901 65.0818 Q748.575 55.8863 748.575 46.5287 Q748.575 37.1711 745.901 28.0566 Q743.268 18.942 737.88 9.62495 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M811.283 49.7694 Q802.249 49.7694 798.765 51.8354 Q795.282 53.9013 795.282 58.8839 Q795.282 62.8538 797.874 65.2034 Q800.507 67.5124 805.004 67.5124 Q811.202 67.5124 814.929 63.1374 Q818.696 58.7219 818.696 51.4303 L818.696 49.7694 L811.283 49.7694 M826.15 46.6907 L826.15 72.576 L818.696 72.576 L818.696 65.6895 Q816.144 69.8214 812.336 71.8063 Q808.528 73.7508 803.019 73.7508 Q796.051 73.7508 791.919 69.8619 Q787.828 65.9325 787.828 59.3701 Q787.828 51.7138 792.932 47.825 Q798.077 43.9361 808.245 43.9361 L818.696 43.9361 L818.696 43.2069 Q818.696 38.0623 815.293 35.2672 Q811.931 32.4315 805.814 32.4315 Q801.925 32.4315 798.239 33.3632 Q794.553 34.295 791.15 36.1584 L791.15 29.2718 Q795.241 27.692 799.09 26.9223 Q802.938 26.1121 806.584 26.1121 Q816.427 26.1121 821.289 31.2163 Q826.15 36.3204 826.15 46.6907 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M871.682 45.1919 L871.682 72.576 L864.228 72.576 L864.228 45.4349 Q864.228 38.994 861.717 35.7938 Q859.205 32.5936 854.182 32.5936 Q848.146 32.5936 844.662 36.4419 Q841.178 40.2903 841.178 46.9338 L841.178 72.576 L833.684 72.576 L833.684 27.2059 L841.178 27.2059 L841.178 34.2544 Q843.852 30.163 847.457 28.1376 Q851.103 26.1121 855.843 26.1121 Q863.661 26.1121 867.671 30.9732 Q871.682 35.7938 871.682 45.1919 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M909.355 34.0924 L909.355 9.54393 L916.809 9.54393 L916.809 72.576 L909.355 72.576 L909.355 65.7705 Q907.006 69.8214 903.4 71.8063 Q899.836 73.7508 894.812 73.7508 Q886.589 73.7508 881.404 67.1883 Q876.259 60.6258 876.259 49.9314 Q876.259 39.2371 881.404 32.6746 Q886.589 26.1121 894.812 26.1121 Q899.836 26.1121 903.4 28.0971 Q907.006 30.0415 909.355 34.0924 M883.956 49.9314 Q883.956 58.1548 887.318 62.8538 Q890.721 67.5124 896.635 67.5124 Q902.55 67.5124 905.952 62.8538 Q909.355 58.1548 909.355 49.9314 Q909.355 41.7081 905.952 37.0496 Q902.55 32.3505 896.635 32.3505 Q890.721 32.3505 887.318 37.0496 Q883.956 41.7081 883.956 49.9314 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M950.998 27.2059 L958.452 27.2059 L958.452 72.576 L950.998 72.576 L950.998 27.2059 M950.998 9.54393 L958.452 9.54393 L958.452 18.9825 L950.998 18.9825 L950.998 9.54393 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M973.643 14.324 L973.643 27.2059 L988.996 27.2059 L988.996 32.9987 L973.643 32.9987 L973.643 57.6282 Q973.643 63.1779 975.142 64.7578 Q976.681 66.3376 981.34 66.3376 L988.996 66.3376 L988.996 72.576 L981.34 72.576 Q972.711 72.576 969.43 69.3758 Q966.149 66.1351 966.149 57.6282 L966.149 32.9987 L960.68 32.9987 L960.68 27.2059 L966.149 27.2059 L966.149 14.324 L973.643 14.324 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1025.74 28.5427 L1025.74 35.5912 Q1022.58 33.9709 1019.18 33.1607 Q1015.77 32.3505 1012.13 32.3505 Q1006.58 32.3505 1003.78 34.0519 Q1001.03 35.7533 1001.03 39.156 Q1001.03 41.7486 1003.01 43.2475 Q1005 44.7058 1010.99 46.0426 L1013.54 46.6097 Q1021.48 48.3111 1024.81 51.4303 Q1028.17 54.509 1028.17 60.0587 Q1028.17 66.3781 1023.15 70.0644 Q1018.16 73.7508 1009.41 73.7508 Q1005.77 73.7508 1001.8 73.0216 Q997.867 72.3329 993.492 70.9151 L993.492 63.2184 Q997.624 65.3654 1001.63 66.4591 Q1005.65 67.5124 1009.57 67.5124 Q1014.84 67.5124 1017.68 65.73 Q1020.51 63.9071 1020.51 60.6258 Q1020.51 57.5877 1018.45 55.9673 Q1016.42 54.3469 1009.49 52.8481 L1006.9 52.2405 Q999.974 50.7821 996.895 47.7845 Q993.817 44.7463 993.817 39.4801 Q993.817 33.0797 998.354 29.5959 Q1002.89 26.1121 1011.24 26.1121 Q1015.37 26.1121 1019.01 26.7198 Q1022.66 27.3274 1025.74 28.5427 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1092.21 34.0924 L1092.21 9.54393 L1099.67 9.54393 L1099.67 72.576 L1092.21 72.576 L1092.21 65.7705 Q1089.86 69.8214 1086.26 71.8063 Q1082.69 73.7508 1077.67 73.7508 Q1069.45 73.7508 1064.26 67.1883 Q1059.12 60.6258 1059.12 49.9314 Q1059.12 39.2371 1064.26 32.6746 Q1069.45 26.1121 1077.67 26.1121 Q1082.69 26.1121 1086.26 28.0971 Q1089.86 30.0415 1092.21 34.0924 M1066.81 49.9314 Q1066.81 58.1548 1070.18 62.8538 Q1073.58 67.5124 1079.49 67.5124 Q1085.41 67.5124 1088.81 62.8538 Q1092.21 58.1548 1092.21 49.9314 Q1092.21 41.7081 1088.81 37.0496 Q1085.41 32.3505 1079.49 32.3505 Q1073.58 32.3505 1070.18 37.0496 Q1066.81 41.7081 1066.81 49.9314 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1146.29 48.0275 L1146.29 51.6733 L1112.02 51.6733 Q1112.51 59.3701 1116.64 63.421 Q1120.81 67.4314 1128.23 67.4314 Q1132.52 67.4314 1136.53 66.3781 Q1140.58 65.3249 1144.55 63.2184 L1144.55 70.267 Q1140.54 71.9684 1136.33 72.8596 Q1132.11 73.7508 1127.78 73.7508 Q1116.92 73.7508 1110.56 67.4314 Q1104.24 61.1119 1104.24 50.3365 Q1104.24 39.1965 1110.24 32.6746 Q1116.28 26.1121 1126.48 26.1121 Q1135.64 26.1121 1140.95 32.0264 Q1146.29 37.9003 1146.29 48.0275 M1138.84 45.84 Q1138.76 39.7232 1135.4 36.0774 Q1132.07 32.4315 1126.56 32.4315 Q1120.33 32.4315 1116.56 35.9558 Q1112.83 39.4801 1112.26 45.8805 L1138.84 45.84 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1180.4 34.1734 Q1179.15 33.4443 1177.65 33.1202 Q1176.19 32.7556 1174.41 32.7556 Q1168.09 32.7556 1164.68 36.8875 Q1161.32 40.9789 1161.32 48.6757 L1161.32 72.576 L1153.83 72.576 L1153.83 27.2059 L1161.32 27.2059 L1161.32 34.2544 Q1163.67 30.1225 1167.44 28.1376 Q1171.21 26.1121 1176.59 26.1121 Q1177.36 26.1121 1178.29 26.2337 Q1179.23 26.3147 1180.36 26.5172 L1180.4 34.1734 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1188.22 27.2059 L1195.67 27.2059 L1195.67 72.576 L1188.22 72.576 L1188.22 27.2059 M1188.22 9.54393 L1195.67 9.54393 L1195.67 18.9825 L1188.22 18.9825 L1188.22 9.54393 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1198.14 27.2059 L1206.04 27.2059 L1220.22 65.2844 L1234.4 27.2059 L1242.3 27.2059 L1225.29 72.576 L1215.16 72.576 L1198.14 27.2059 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1270.74 49.7694 Q1261.7 49.7694 1258.22 51.8354 Q1254.74 53.9013 1254.74 58.8839 Q1254.74 62.8538 1257.33 65.2034 Q1259.96 67.5124 1264.46 67.5124 Q1270.66 67.5124 1274.38 63.1374 Q1278.15 58.7219 1278.15 51.4303 L1278.15 49.7694 L1270.74 49.7694 M1285.6 46.6907 L1285.6 72.576 L1278.15 72.576 L1278.15 65.6895 Q1275.6 69.8214 1271.79 71.8063 Q1267.98 73.7508 1262.47 73.7508 Q1255.5 73.7508 1251.37 69.8619 Q1247.28 65.9325 1247.28 59.3701 Q1247.28 51.7138 1252.39 47.825 Q1257.53 43.9361 1267.7 43.9361 L1278.15 43.9361 L1278.15 43.2069 Q1278.15 38.0623 1274.75 35.2672 Q1271.38 32.4315 1265.27 32.4315 Q1261.38 32.4315 1257.69 33.3632 Q1254.01 34.295 1250.6 36.1584 L1250.6 29.2718 Q1254.69 27.692 1258.54 26.9223 Q1262.39 26.1121 1266.04 26.1121 Q1275.88 26.1121 1280.74 31.2163 Q1285.6 36.3204 1285.6 46.6907 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1300.79 14.324 L1300.79 27.2059 L1316.15 27.2059 L1316.15 32.9987 L1300.79 32.9987 L1300.79 57.6282 Q1300.79 63.1779 1302.29 64.7578 Q1303.83 66.3376 1308.49 66.3376 L1316.15 66.3376 L1316.15 72.576 L1308.49 72.576 Q1299.86 72.576 1296.58 69.3758 Q1293.3 66.1351 1293.3 57.6282 L1293.3 32.9987 L1287.83 32.9987 L1287.83 27.2059 L1293.3 27.2059 L1293.3 14.324 L1300.79 14.324 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1323.97 27.2059 L1331.42 27.2059 L1331.42 72.576 L1323.97 72.576 L1323.97 27.2059 M1323.97 9.54393 L1331.42 9.54393 L1331.42 18.9825 L1323.97 18.9825 L1323.97 9.54393 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1333.89 27.2059 L1341.79 27.2059 L1355.97 65.2844 L1370.15 27.2059 L1378.04 27.2059 L1361.03 72.576 L1350.9 72.576 L1333.89 27.2059 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1424.67 48.0275 L1424.67 51.6733 L1390.4 51.6733 Q1390.89 59.3701 1395.02 63.421 Q1399.19 67.4314 1406.6 67.4314 Q1410.9 67.4314 1414.91 66.3781 Q1418.96 65.3249 1422.93 63.2184 L1422.93 70.267 Q1418.92 71.9684 1414.71 72.8596 Q1410.49 73.7508 1406.16 73.7508 Q1395.3 73.7508 1388.94 67.4314 Q1382.62 61.1119 1382.62 50.3365 Q1382.62 39.1965 1388.62 32.6746 Q1394.65 26.1121 1404.86 26.1121 Q1414.02 26.1121 1419.32 32.0264 Q1424.67 37.9003 1424.67 48.0275 M1417.22 45.84 Q1417.14 39.7232 1413.77 36.0774 Q1410.45 32.4315 1404.94 32.4315 Q1398.7 32.4315 1394.94 35.9558 Q1391.21 39.4801 1390.64 45.8805 L1417.22 45.84 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><polyline clip-path=\"url(#clip832)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 186.986,355.08 198.045,369.641 209.104,383.985 220.162,398.112 231.221,412.023 242.279,425.717 253.338,439.193 264.396,452.453 275.455,465.497 286.514,478.323 \n",
" 297.572,490.932 308.631,503.325 319.689,515.501 330.748,527.46 341.806,539.202 352.865,550.727 363.924,562.035 374.982,573.127 386.041,584.002 397.099,594.659 \n",
" 408.158,605.1 419.216,615.325 430.275,625.332 441.334,635.122 452.392,644.696 463.451,654.053 474.509,663.193 485.568,672.116 496.627,680.822 507.685,689.312 \n",
" 518.744,697.584 529.802,705.64 540.861,713.479 551.919,721.101 562.978,728.506 574.037,735.694 585.095,742.666 596.154,749.421 607.212,755.958 618.271,762.279 \n",
" 629.329,768.384 640.388,774.271 651.447,779.941 662.505,785.395 673.564,790.632 684.622,795.652 695.681,800.455 706.739,805.041 717.798,809.41 728.857,813.563 \n",
" 739.915,817.499 750.974,821.217 762.032,824.72 773.091,828.005 784.15,831.073 795.208,833.925 806.267,836.559 817.325,838.977 828.384,841.178 839.442,843.162 \n",
" 850.501,844.929 861.56,846.48 872.618,847.813 883.677,848.93 894.735,849.83 905.794,850.513 916.852,850.979 927.911,851.229 938.97,851.261 950.028,851.077 \n",
" 961.087,850.676 972.145,850.058 983.204,849.223 994.263,848.171 1005.32,846.903 1016.38,845.417 1027.44,843.715 1038.5,841.796 1049.56,839.66 1060.61,837.307 \n",
" 1071.67,834.738 1082.73,831.951 1093.79,828.948 1104.85,825.728 1115.91,822.291 1126.97,818.637 1138.02,814.766 1149.08,810.679 1160.14,806.375 1171.2,801.853 \n",
" 1182.26,797.115 1193.32,792.16 1204.38,786.989 1215.43,781.6 1226.49,775.995 1237.55,770.173 1248.61,764.133 1259.67,757.878 1270.73,751.405 1281.79,744.715 \n",
" 1292.84,737.809 1303.9,730.685 1314.96,723.345 1326.02,715.788 1337.08,708.014 1348.14,700.024 1359.2,691.816 1370.25,683.392 1381.31,674.751 1392.37,665.892 \n",
" 1403.43,656.818 1414.49,647.526 1425.55,638.017 1436.61,628.292 1447.66,618.35 1458.72,608.19 1469.78,597.814 1480.84,587.222 1491.9,576.412 1502.96,565.386 \n",
" 1514.02,554.142 1525.07,542.682 1536.13,531.005 1547.19,519.111 1558.25,507 1569.31,494.673 1580.37,482.128 1591.43,469.367 1602.48,456.389 1613.54,443.194 \n",
" 1624.6,429.782 1635.66,416.154 1646.72,402.308 1657.78,388.246 1668.84,373.967 1679.89,359.471 1690.95,344.758 1702.01,329.828 1713.07,314.682 1724.13,299.319 \n",
" 1735.19,283.738 1746.25,267.941 1757.3,251.927 1768.36,235.697 1779.42,219.249 1790.48,202.585 1801.54,185.703 1812.6,168.605 1823.66,151.29 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#ff0000; stroke-width:4; stroke-opacity:1; fill:none\" stroke-dasharray=\"2, 4\" points=\"\n",
" 186.986,1078.56 198.045,1074.98 209.104,1071.41 220.162,1067.83 231.221,1064.25 242.279,1060.67 253.338,1057.09 264.396,1053.52 275.455,1049.94 286.514,1046.36 \n",
" 297.572,1042.78 308.631,1039.2 319.689,1035.63 330.748,1032.05 341.806,1028.47 352.865,1024.89 363.924,1021.32 374.982,1017.74 386.041,1014.16 397.099,1010.58 \n",
" 408.158,1007 419.216,1003.43 430.275,999.848 441.334,996.27 452.392,992.692 463.451,989.114 474.509,985.536 485.568,981.958 496.627,978.38 507.685,974.802 \n",
" 518.744,971.224 529.802,967.646 540.861,964.068 551.919,960.49 562.978,956.912 574.037,953.335 585.095,949.757 596.154,946.179 607.212,942.601 618.271,939.023 \n",
" 629.329,935.445 640.388,931.867 651.447,928.289 662.505,924.711 673.564,921.133 684.622,917.555 695.681,913.977 706.739,910.4 717.798,906.822 728.857,903.244 \n",
" 739.915,899.666 750.974,896.088 762.032,892.51 773.091,888.932 784.15,885.354 795.208,881.776 806.267,878.198 817.325,874.62 828.384,871.042 839.442,867.465 \n",
" 850.501,863.887 861.56,860.309 872.618,856.731 883.677,853.153 894.735,849.575 905.794,845.997 916.852,842.419 927.911,838.841 938.97,835.263 950.028,831.685 \n",
" 961.087,828.107 972.145,824.53 983.204,820.952 994.263,817.374 1005.32,813.796 1016.38,810.218 1027.44,806.64 1038.5,803.062 1049.56,799.484 1060.61,795.906 \n",
" 1071.67,792.328 1082.73,788.75 1093.79,785.172 1104.85,781.594 1115.91,778.017 1126.97,774.439 1138.02,770.861 1149.08,767.283 1160.14,763.705 1171.2,760.127 \n",
" 1182.26,756.549 1193.32,752.971 1204.38,749.393 1215.43,745.815 1226.49,742.237 1237.55,738.659 1248.61,735.082 1259.67,731.504 1270.73,727.926 1281.79,724.348 \n",
" 1292.84,720.77 1303.9,717.192 1314.96,713.614 1326.02,710.036 1337.08,706.458 1348.14,702.88 1359.2,699.302 1370.25,695.724 1381.31,692.147 1392.37,688.569 \n",
" 1403.43,684.991 1414.49,681.413 1425.55,677.835 1436.61,674.257 1447.66,670.679 1458.72,667.101 1469.78,663.523 1480.84,659.945 1491.9,656.367 1502.96,652.789 \n",
" 1514.02,649.212 1525.07,645.634 1536.13,642.056 1547.19,638.478 1558.25,634.9 1569.31,631.322 1580.37,627.744 1591.43,624.166 1602.48,620.588 1613.54,617.01 \n",
" 1624.6,613.432 1635.66,609.854 1646.72,606.277 1657.78,602.699 1668.84,599.121 1679.89,595.543 1690.95,591.965 1702.01,588.387 1713.07,584.809 1724.13,581.231 \n",
" 1735.19,577.653 1746.25,574.075 1757.3,570.497 1768.36,566.919 1779.42,563.341 1790.48,559.764 1801.54,556.186 1812.6,552.608 1823.66,549.03 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip832)\" style=\"stroke:#0000ff; stroke-width:4; stroke-opacity:1; fill:none\" stroke-dasharray=\"16, 10\" points=\"\n",
" 186.986,1078.56 198.045,1074.98 209.104,1071.41 220.162,1067.83 231.221,1064.25 242.279,1060.67 253.338,1057.09 264.396,1053.52 275.455,1049.94 286.514,1046.36 \n",
" 297.572,1042.78 308.631,1039.2 319.689,1035.63 330.748,1032.05 341.806,1028.47 352.865,1024.89 363.924,1021.32 374.982,1017.74 386.041,1014.16 397.099,1010.58 \n",
" 408.158,1007 419.216,1003.43 430.275,999.848 441.334,996.27 452.392,992.692 463.451,989.114 474.509,985.536 485.568,981.958 496.627,978.38 507.685,974.802 \n",
" 518.744,971.224 529.802,967.646 540.861,964.068 551.919,960.49 562.978,956.912 574.037,953.335 585.095,949.757 596.154,946.179 607.212,942.601 618.271,939.023 \n",
" 629.329,935.445 640.388,931.867 651.447,928.289 662.505,924.711 673.564,921.133 684.622,917.555 695.681,913.977 706.739,910.4 717.798,906.822 728.857,903.244 \n",
" 739.915,899.666 750.974,896.088 762.032,892.51 773.091,888.932 784.15,885.354 795.208,881.776 806.267,878.198 817.325,874.62 828.384,871.042 839.442,867.465 \n",
" 850.501,863.887 861.56,860.309 872.618,856.731 883.677,853.153 894.735,849.575 905.794,845.997 916.852,842.419 927.911,838.841 938.97,835.263 950.028,831.685 \n",
" 961.087,828.107 972.145,824.53 983.204,820.952 994.263,817.374 1005.32,813.796 1016.38,810.218 1027.44,806.64 1038.5,803.062 1049.56,799.484 1060.61,795.906 \n",
" 1071.67,792.328 1082.73,788.75 1093.79,785.172 1104.85,781.594 1115.91,778.017 1126.97,774.439 1138.02,770.861 1149.08,767.283 1160.14,763.705 1171.2,760.127 \n",
" 1182.26,756.549 1193.32,752.971 1204.38,749.393 1215.43,745.815 1226.49,742.237 1237.55,738.659 1248.61,735.082 1259.67,731.504 1270.73,727.926 1281.79,724.348 \n",
" 1292.84,720.77 1303.9,717.192 1314.96,713.614 1326.02,710.036 1337.08,706.458 1348.14,702.88 1359.2,699.302 1370.25,695.724 1381.31,692.147 1392.37,688.569 \n",
" 1403.43,684.991 1414.49,681.413 1425.55,677.835 1436.61,674.257 1447.66,670.679 1458.72,667.101 1469.78,663.523 1480.84,659.945 1491.9,656.367 1502.96,652.789 \n",
" 1514.02,649.212 1525.07,645.634 1536.13,642.056 1547.19,638.478 1558.25,634.9 1569.31,631.322 1580.37,627.744 1591.43,624.166 1602.48,620.588 1613.54,617.01 \n",
" 1624.6,613.432 1635.66,609.854 1646.72,606.277 1657.78,602.699 1668.84,599.121 1679.89,595.543 1690.95,591.965 1702.01,588.387 1713.07,584.809 1724.13,581.231 \n",
" 1735.19,577.653 1746.25,574.075 1757.3,570.497 1768.36,566.919 1779.42,563.341 1790.48,559.764 1801.54,556.186 1812.6,552.608 1823.66,549.03 \n",
" \"/>\n",
"<path clip-path=\"url(#clip830)\" d=\"\n",
"M480.21 398.156 L1043.87 398.156 L1043.87 156.236 L480.21 156.236 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 480.21,398.156 1043.87,398.156 1043.87,156.236 480.21,156.236 480.21,398.156 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip830)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 499.486,216.716 615.144,216.716 \n",
" \"/>\n",
"<path clip-path=\"url(#clip830)\" d=\"M 0 0 M650.925 197.977 L650.925 201.519 L646.851 201.519 Q644.559 201.519 643.656 202.445 Q642.777 203.371 642.777 205.778 L642.777 208.07 L649.791 208.07 L649.791 211.38 L642.777 211.38 L642.777 233.996 L638.494 233.996 L638.494 211.38 L634.42 211.38 L634.42 208.07 L638.494 208.07 L638.494 206.264 Q638.494 201.936 640.508 199.968 Q642.522 197.977 646.897 197.977 L650.925 197.977 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M676.943 218.348 L676.943 233.996 L672.684 233.996 L672.684 218.487 Q672.684 214.806 671.249 212.977 Q669.814 211.149 666.943 211.149 Q663.494 211.149 661.503 213.348 Q659.513 215.547 659.513 219.343 L659.513 233.996 L655.23 233.996 L655.23 208.07 L659.513 208.07 L659.513 212.098 Q661.041 209.76 663.101 208.602 Q665.184 207.445 667.892 207.445 Q672.36 207.445 674.652 210.223 Q676.943 212.977 676.943 218.348 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M682.823 230.061 L690.462 230.061 L690.462 203.695 L682.152 205.362 L682.152 201.102 L690.415 199.436 L695.091 199.436 L695.091 230.061 L702.73 230.061 L702.73 233.996 L682.823 233.996 L682.823 230.061 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M717.429 198.024 Q714.327 203.348 712.823 208.556 Q711.318 213.764 711.318 219.112 Q711.318 224.459 712.823 229.713 Q714.35 234.945 717.429 240.246 L713.725 240.246 Q710.253 234.806 708.517 229.551 Q706.804 224.297 706.804 219.112 Q706.804 213.95 708.517 208.718 Q710.23 203.487 713.725 198.024 L717.429 198.024 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M721.225 198.024 L724.929 198.024 Q728.401 203.487 730.114 208.718 Q731.85 213.95 731.85 219.112 Q731.85 224.297 730.114 229.551 Q728.401 234.806 724.929 240.246 L721.225 240.246 Q724.304 234.945 725.809 229.713 Q727.336 224.459 727.336 219.112 Q727.336 213.764 725.809 208.556 Q724.304 203.348 721.225 198.024 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><polyline clip-path=\"url(#clip830)\" style=\"stroke:#ff0000; stroke-width:4; stroke-opacity:1; fill:none\" stroke-dasharray=\"2, 4\" points=\"\n",
" 499.486,277.196 615.144,277.196 \n",
" \"/>\n",
"<path clip-path=\"url(#clip830)\" d=\"M 0 0 M654.929 269.545 L654.929 273.527 Q653.124 272.531 651.295 272.045 Q649.49 271.536 647.638 271.536 Q643.494 271.536 641.203 274.175 Q638.911 276.791 638.911 281.536 Q638.911 286.281 641.203 288.92 Q643.494 291.536 647.638 291.536 Q649.49 291.536 651.295 291.05 Q653.124 290.541 654.929 289.545 L654.929 293.48 Q653.147 294.314 651.226 294.73 Q649.328 295.147 647.175 295.147 Q641.318 295.147 637.869 291.466 Q634.42 287.786 634.42 281.536 Q634.42 275.193 637.893 271.559 Q641.388 267.925 647.453 267.925 Q649.42 267.925 651.295 268.342 Q653.17 268.735 654.929 269.545 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M674.42 272.531 Q673.702 272.115 672.846 271.93 Q672.013 271.721 670.994 271.721 Q667.383 271.721 665.439 274.082 Q663.517 276.42 663.517 280.818 L663.517 294.476 L659.235 294.476 L659.235 268.55 L663.517 268.55 L663.517 272.578 Q664.86 270.217 667.013 269.082 Q669.165 267.925 672.244 267.925 Q672.684 267.925 673.216 267.994 Q673.749 268.041 674.397 268.156 L674.42 272.531 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M678.448 284.244 L678.448 268.55 L682.707 268.55 L682.707 284.082 Q682.707 287.763 684.142 289.615 Q685.577 291.443 688.448 291.443 Q691.897 291.443 693.888 289.244 Q695.901 287.045 695.901 283.249 L695.901 268.55 L700.161 268.55 L700.161 294.476 L695.901 294.476 L695.901 290.494 Q694.351 292.855 692.29 294.013 Q690.253 295.147 687.545 295.147 Q683.077 295.147 680.763 292.369 Q678.448 289.591 678.448 284.244 M689.165 267.925 L689.165 267.925 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M721.688 272.485 L721.688 258.457 L725.948 258.457 L725.948 294.476 L721.688 294.476 L721.688 290.587 Q720.346 292.902 718.286 294.036 Q716.249 295.147 713.378 295.147 Q708.679 295.147 705.716 291.397 Q702.776 287.647 702.776 281.536 Q702.776 275.425 705.716 271.675 Q708.679 267.925 713.378 267.925 Q716.249 267.925 718.286 269.059 Q720.346 270.17 721.688 272.485 M707.175 281.536 Q707.175 286.235 709.096 288.92 Q711.04 291.582 714.42 291.582 Q717.799 291.582 719.744 288.92 Q721.688 286.235 721.688 281.536 Q721.688 276.837 719.744 274.175 Q717.799 271.49 714.42 271.49 Q711.04 271.49 709.096 274.175 Q707.175 276.837 707.175 281.536 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M752.591 280.448 L752.591 282.531 L733.008 282.531 Q733.286 286.929 735.647 289.244 Q738.031 291.536 742.267 291.536 Q744.721 291.536 747.012 290.934 Q749.327 290.332 751.596 289.129 L751.596 293.156 Q749.304 294.128 746.897 294.638 Q744.489 295.147 742.012 295.147 Q735.809 295.147 732.174 291.536 Q728.563 287.925 728.563 281.767 Q728.563 275.402 731.989 271.675 Q735.438 267.925 741.272 267.925 Q746.503 267.925 749.535 271.305 Q752.591 274.661 752.591 280.448 M748.332 279.198 Q748.285 275.703 746.364 273.619 Q744.466 271.536 741.318 271.536 Q737.753 271.536 735.6 273.55 Q733.471 275.564 733.147 279.221 L748.332 279.198 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M789.188 272.485 L789.188 258.457 L793.447 258.457 L793.447 294.476 L789.188 294.476 L789.188 290.587 Q787.845 292.902 785.785 294.036 Q783.748 295.147 780.878 295.147 Q776.179 295.147 773.216 291.397 Q770.276 287.647 770.276 281.536 Q770.276 275.425 773.216 271.675 Q776.179 267.925 780.878 267.925 Q783.748 267.925 785.785 269.059 Q787.845 270.17 789.188 272.485 M774.674 281.536 Q774.674 286.235 776.595 288.92 Q778.54 291.582 781.92 291.582 Q785.299 291.582 787.244 288.92 Q789.188 286.235 789.188 281.536 Q789.188 276.837 787.244 274.175 Q785.299 271.49 781.92 271.49 Q778.54 271.49 776.595 274.175 Q774.674 276.837 774.674 281.536 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M820.091 280.448 L820.091 282.531 L800.507 282.531 Q800.785 286.929 803.146 289.244 Q805.53 291.536 809.767 291.536 Q812.22 291.536 814.512 290.934 Q816.827 290.332 819.095 289.129 L819.095 293.156 Q816.804 294.128 814.396 294.638 Q811.989 295.147 809.512 295.147 Q803.308 295.147 799.674 291.536 Q796.063 287.925 796.063 281.767 Q796.063 275.402 799.489 271.675 Q802.938 267.925 808.771 267.925 Q814.003 267.925 817.035 271.305 Q820.091 274.661 820.091 280.448 M815.831 279.198 Q815.785 275.703 813.864 273.619 Q811.966 271.536 808.818 271.536 Q805.253 271.536 803.1 273.55 Q800.97 275.564 800.646 279.221 L815.831 279.198 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M839.581 272.531 Q838.864 272.115 838.007 271.93 Q837.174 271.721 836.155 271.721 Q832.544 271.721 830.6 274.082 Q828.679 276.42 828.679 280.818 L828.679 294.476 L824.396 294.476 L824.396 268.55 L828.679 268.55 L828.679 272.578 Q830.021 270.217 832.174 269.082 Q834.327 267.925 837.405 267.925 Q837.845 267.925 838.378 267.994 Q838.91 268.041 839.558 268.156 L839.581 272.531 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M844.049 268.55 L848.308 268.55 L848.308 294.476 L844.049 294.476 L844.049 268.55 M844.049 258.457 L848.308 258.457 L848.308 263.851 L844.049 263.851 L844.049 258.457 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M849.72 268.55 L854.234 268.55 L862.336 290.309 L870.438 268.55 L874.951 268.55 L865.229 294.476 L859.442 294.476 L849.72 268.55 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M891.201 281.443 Q886.039 281.443 884.049 282.624 Q882.058 283.804 882.058 286.652 Q882.058 288.92 883.539 290.263 Q885.044 291.582 887.613 291.582 Q891.155 291.582 893.285 289.082 Q895.437 286.559 895.437 282.392 L895.437 281.443 L891.201 281.443 M899.697 279.684 L899.697 294.476 L895.437 294.476 L895.437 290.541 Q893.979 292.902 891.803 294.036 Q889.627 295.147 886.479 295.147 Q882.498 295.147 880.137 292.925 Q877.799 290.679 877.799 286.929 Q877.799 282.554 880.715 280.332 Q883.655 278.11 889.465 278.11 L895.437 278.11 L895.437 277.693 Q895.437 274.754 893.493 273.156 Q891.572 271.536 888.076 271.536 Q885.854 271.536 883.748 272.068 Q881.641 272.601 879.697 273.666 L879.697 269.73 Q882.035 268.828 884.234 268.388 Q886.433 267.925 888.516 267.925 Q894.141 267.925 896.919 270.842 Q899.697 273.758 899.697 279.684 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M908.377 261.189 L908.377 268.55 L917.15 268.55 L917.15 271.86 L908.377 271.86 L908.377 285.934 Q908.377 289.105 909.234 290.008 Q910.113 290.911 912.775 290.911 L917.15 290.911 L917.15 294.476 L912.775 294.476 Q907.845 294.476 905.97 292.647 Q904.095 290.795 904.095 285.934 L904.095 271.86 L900.97 271.86 L900.97 268.55 L904.095 268.55 L904.095 261.189 L908.377 261.189 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M921.618 268.55 L925.877 268.55 L925.877 294.476 L921.618 294.476 L921.618 268.55 M921.618 258.457 L925.877 258.457 L925.877 263.851 L921.618 263.851 L921.618 258.457 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M927.289 268.55 L931.803 268.55 L939.905 290.309 L948.007 268.55 L952.52 268.55 L942.798 294.476 L937.011 294.476 L927.289 268.55 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M979.164 280.448 L979.164 282.531 L959.581 282.531 Q959.858 286.929 962.219 289.244 Q964.604 291.536 968.84 291.536 Q971.293 291.536 973.585 290.934 Q975.9 290.332 978.168 289.129 L978.168 293.156 Q975.877 294.128 973.469 294.638 Q971.062 295.147 968.585 295.147 Q962.382 295.147 958.747 291.536 Q955.136 287.925 955.136 281.767 Q955.136 275.402 958.562 271.675 Q962.011 267.925 967.844 267.925 Q973.076 267.925 976.108 271.305 Q979.164 274.661 979.164 280.448 M974.905 279.198 Q974.858 275.703 972.937 273.619 Q971.039 271.536 967.891 271.536 Q964.326 271.536 962.173 273.55 Q960.044 275.564 959.719 279.221 L974.905 279.198 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><polyline clip-path=\"url(#clip830)\" style=\"stroke:#0000ff; stroke-width:4; stroke-opacity:1; fill:none\" stroke-dasharray=\"16, 10\" points=\"\n",
" 499.486,337.676 615.144,337.676 \n",
" \"/>\n",
"<path clip-path=\"url(#clip830)\" d=\"M 0 0 M650.925 318.937 L650.925 322.479 L646.851 322.479 Q644.559 322.479 643.656 323.405 Q642.777 324.331 642.777 326.738 L642.777 329.03 L649.791 329.03 L649.791 332.34 L642.777 332.34 L642.777 354.956 L638.494 354.956 L638.494 332.34 L634.42 332.34 L634.42 329.03 L638.494 329.03 L638.494 327.224 Q638.494 322.896 640.508 320.928 Q642.522 318.937 646.897 318.937 L650.925 318.937 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M670.415 333.011 Q669.698 332.595 668.841 332.41 Q668.008 332.201 666.99 332.201 Q663.378 332.201 661.434 334.562 Q659.513 336.9 659.513 341.298 L659.513 354.956 L655.23 354.956 L655.23 329.03 L659.513 329.03 L659.513 333.058 Q660.855 330.697 663.008 329.562 Q665.161 328.405 668.24 328.405 Q668.679 328.405 669.212 328.474 Q669.744 328.521 670.392 328.636 L670.415 333.011 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M683.888 332.016 Q680.462 332.016 678.471 334.701 Q676.48 337.363 676.48 342.016 Q676.48 346.669 678.448 349.354 Q680.439 352.016 683.888 352.016 Q687.29 352.016 689.281 349.331 Q691.272 346.646 691.272 342.016 Q691.272 337.41 689.281 334.724 Q687.29 332.016 683.888 332.016 M683.888 328.405 Q689.443 328.405 692.614 332.016 Q695.786 335.627 695.786 342.016 Q695.786 348.382 692.614 352.016 Q689.443 355.627 683.888 355.627 Q678.309 355.627 675.138 352.016 Q671.99 348.382 671.99 342.016 Q671.99 335.627 675.138 332.016 Q678.309 328.405 683.888 328.405 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M720.438 334.007 Q722.036 331.136 724.258 329.771 Q726.48 328.405 729.489 328.405 Q733.54 328.405 735.739 331.252 Q737.938 334.076 737.938 339.308 L737.938 354.956 L733.656 354.956 L733.656 339.447 Q733.656 335.72 732.336 333.914 Q731.017 332.109 728.309 332.109 Q724.999 332.109 723.077 334.308 Q721.156 336.507 721.156 340.303 L721.156 354.956 L716.874 354.956 L716.874 339.447 Q716.874 335.697 715.554 333.914 Q714.235 332.109 711.48 332.109 Q708.216 332.109 706.295 334.331 Q704.374 336.53 704.374 340.303 L704.374 354.956 L700.091 354.956 L700.091 329.03 L704.374 329.03 L704.374 333.058 Q705.832 330.673 707.869 329.539 Q709.906 328.405 712.707 328.405 Q715.531 328.405 717.499 329.84 Q719.489 331.275 720.438 334.007 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M757.66 320.396 L777.521 320.396 L777.521 324.331 L762.336 324.331 L762.336 334.516 L776.04 334.516 L776.04 338.451 L762.336 338.451 L762.336 354.956 L757.66 354.956 L757.66 320.396 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M790.345 332.016 Q786.919 332.016 784.929 334.701 Q782.938 337.363 782.938 342.016 Q782.938 346.669 784.906 349.354 Q786.896 352.016 790.345 352.016 Q793.748 352.016 795.739 349.331 Q797.73 346.646 797.73 342.016 Q797.73 337.41 795.739 334.724 Q793.748 332.016 790.345 332.016 M790.345 328.405 Q795.901 328.405 799.072 332.016 Q802.243 335.627 802.243 342.016 Q802.243 348.382 799.072 352.016 Q795.901 355.627 790.345 355.627 Q784.767 355.627 781.595 352.016 Q778.447 348.382 778.447 342.016 Q778.447 335.627 781.595 332.016 Q784.767 328.405 790.345 328.405 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M821.734 333.011 Q821.017 332.595 820.16 332.41 Q819.327 332.201 818.308 332.201 Q814.697 332.201 812.753 334.562 Q810.831 336.9 810.831 341.298 L810.831 354.956 L806.549 354.956 L806.549 329.03 L810.831 329.03 L810.831 333.058 Q812.174 330.697 814.327 329.562 Q816.48 328.405 819.558 328.405 Q819.998 328.405 820.53 328.474 Q821.063 328.521 821.711 328.636 L821.734 333.011 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M823.725 329.03 L827.984 329.03 L833.308 349.261 L838.609 329.03 L843.632 329.03 L848.956 349.261 L854.257 329.03 L858.516 329.03 L851.734 354.956 L846.711 354.956 L841.132 333.706 L835.53 354.956 L830.507 354.956 L823.725 329.03 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M874.766 341.923 Q869.604 341.923 867.613 343.104 Q865.623 344.284 865.623 347.132 Q865.623 349.4 867.104 350.743 Q868.609 352.062 871.178 352.062 Q874.72 352.062 876.85 349.562 Q879.002 347.039 879.002 342.872 L879.002 341.923 L874.766 341.923 M883.262 340.164 L883.262 354.956 L879.002 354.956 L879.002 351.021 Q877.544 353.382 875.368 354.516 Q873.192 355.627 870.044 355.627 Q866.063 355.627 863.701 353.405 Q861.364 351.159 861.364 347.409 Q861.364 343.034 864.28 340.812 Q867.22 338.59 873.03 338.59 L879.002 338.59 L879.002 338.173 Q879.002 335.234 877.058 333.636 Q875.137 332.016 871.641 332.016 Q869.419 332.016 867.313 332.548 Q865.206 333.081 863.262 334.146 L863.262 330.21 Q865.6 329.308 867.799 328.868 Q869.998 328.405 872.081 328.405 Q877.706 328.405 880.484 331.322 Q883.262 334.238 883.262 340.164 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M902.752 333.011 Q902.035 332.595 901.178 332.41 Q900.345 332.201 899.326 332.201 Q895.715 332.201 893.771 334.562 Q891.849 336.9 891.849 341.298 L891.849 354.956 L887.567 354.956 L887.567 329.03 L891.849 329.03 L891.849 333.058 Q893.192 330.697 895.345 329.562 Q897.498 328.405 900.576 328.405 Q901.016 328.405 901.548 328.474 Q902.081 328.521 902.729 328.636 L902.752 333.011 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M923.447 332.965 L923.447 318.937 L927.706 318.937 L927.706 354.956 L923.447 354.956 L923.447 351.067 Q922.104 353.382 920.044 354.516 Q918.007 355.627 915.136 355.627 Q910.437 355.627 907.474 351.877 Q904.535 348.127 904.535 342.016 Q904.535 335.905 907.474 332.155 Q910.437 328.405 915.136 328.405 Q918.007 328.405 920.044 329.539 Q922.104 330.65 923.447 332.965 M908.933 342.016 Q908.933 346.715 910.854 349.4 Q912.798 352.062 916.178 352.062 Q919.558 352.062 921.502 349.4 Q923.447 346.715 923.447 342.016 Q923.447 337.317 921.502 334.655 Q919.558 331.97 916.178 331.97 Q912.798 331.97 910.854 334.655 Q908.933 337.317 908.933 342.016 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M937.034 324.238 L937.034 351.113 L942.683 351.113 Q949.835 351.113 953.145 347.872 Q956.479 344.632 956.479 337.641 Q956.479 330.697 953.145 327.479 Q949.835 324.238 942.683 324.238 L937.034 324.238 M932.359 320.396 L941.965 320.396 Q952.011 320.396 956.71 324.586 Q961.409 328.752 961.409 337.641 Q961.409 346.576 956.687 350.766 Q951.965 354.956 941.965 354.956 L932.359 354.956 L932.359 320.396 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M965.877 329.03 L970.136 329.03 L970.136 354.956 L965.877 354.956 L965.877 329.03 M965.877 318.937 L970.136 318.937 L970.136 324.331 L965.877 324.331 L965.877 318.937 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M987.729 318.937 L987.729 322.479 L983.655 322.479 Q981.363 322.479 980.46 323.405 Q979.58 324.331 979.58 326.738 L979.58 329.03 L986.594 329.03 L986.594 332.34 L979.58 332.34 L979.58 354.956 L975.298 354.956 L975.298 332.34 L971.224 332.34 L971.224 329.03 L975.298 329.03 L975.298 327.224 Q975.298 322.896 977.312 320.928 Q979.326 318.937 983.701 318.937 L987.729 318.937 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /><path clip-path=\"url(#clip830)\" d=\"M 0 0 M1005.32 318.937 L1005.32 322.479 L1001.25 322.479 Q998.955 322.479 998.053 323.405 Q997.173 324.331 997.173 326.738 L997.173 329.03 L1004.19 329.03 L1004.19 332.34 L997.173 332.34 L997.173 354.956 L992.891 354.956 L992.891 332.34 L988.817 332.34 L988.817 329.03 L992.891 329.03 L992.891 327.224 Q992.891 322.896 994.904 320.928 Q996.918 318.937 1001.29 318.937 L1005.32 318.937 Z\" fill=\"#000000\" fill-rule=\"evenodd\" fill-opacity=\"1\" /></svg>\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"p1 = plot( [x x x],[fn1.(x,0.5) dydx_A dydx_B],\n",
" line = [:solid :dot :dash],\n",
" linecolor = [:black :red :blue],\n",
" label = [\"fn1()\" \"crude derivative\" \"from ForwardDiff\"],\n",
" legend = :top,\n",
" title = \"fn1() and its derivative\",\n",
" xlabel = \"x\",\n",
" ylabel = \"\" )\n",
"display(p1)"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## Comments on Using the ForwardDiff Package (extra)\n",
"\n",
"The `ForwardDiff` package applies an interesting approach to calculate derivatives, using a special number type (\"dual numbers\"). This means that your code must be able to handle such numbers. In most cases, that is not a problem, but you may have to watch out if you create arrays to store (intermediate?) results inside the function. See the examples below"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"fnDoesWork (generic function with 1 method)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"function fnDoesNotWork(b,a)\n",
" z = zeros(length(b)) #will not work with ForwardDiff, since\n",
" for i = 1:length(z) #z cannot store dual numbers\n",
" z[i] = b[i]*i\n",
" end\n",
" return sum(z) + a\n",
"end\n",
"\n",
"function fnDoesWork(b,a)\n",
" z = zeros(eltype(b),length(b)) #will work with ForwardDiff, since\n",
" for i = 1:length(z) #when b is a dual number, so is z \n",
" z[i] = b[i]*i #could also start with z = similar(b)\n",
" end\n",
" return sum(z) + a\n",
"end"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2-element Vector{Float64}:\n",
" 1.0\n",
" 2.0"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"b0 = [1.5,2]\n",
"\n",
"#ForwardDiff.gradient(b->fnDoesNotWork(b,1),b0) #uncomment to get an error\n",
"ForwardDiff.gradient(b->fnDoesWork(b,1),b0)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"@webio": {
"lastCommId": null,
"lastKernelId": null
},
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Julia 1.6.1",
"language": "julia",
"name": "julia-1.6"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 1
}