diff --git a/arb_act_funct.nb b/arb_act_funct.nb new file mode 100644 index 0000000..c30c5b6 --- /dev/null +++ b/arb_act_funct.nb @@ -0,0 +1,1042 @@ +(* Content-type: application/vnd.wolfram.mathematica *) + +(*** Wolfram Notebook File ***) +(* http://www.wolfram.com/nb *) + +(* CreatedBy='Mathematica 11.3' *) + +(*CacheID: 234*) +(* Internal cache information: +NotebookFileLineBreakTest +NotebookFileLineBreakTest +NotebookDataPosition[ 158, 7] +NotebookDataLength[ 51212, 1034] +NotebookOptionsPosition[ 49458, 995] +NotebookOutlinePosition[ 49816, 1011] +CellTagsIndexPosition[ 49773, 1008] +WindowFrame->Normal*) + +(* Beginning of Notebook Content *) +Notebook[{ + +Cell[CellGroupData[{ +Cell[BoxData[{ + RowBox[{ + RowBox[{"F", "[", "x_", "]"}], ":=", + RowBox[{"Max", "[", + RowBox[{"0", ",", + RowBox[{"Min", "[", + RowBox[{"6.12", ",", "x"}], "]"}]}], "]"}]}], "\[IndentingNewLine]", + RowBox[{"Plot", "[", + RowBox[{ + RowBox[{"F", "[", "x", "]"}], ",", + RowBox[{"{", + RowBox[{"x", ",", + RowBox[{"-", "10"}], ",", + RowBox[{"+", "20"}]}], "}"}]}], "]"}]}], "Input", + CellChangeTimes->{{3.7577667925285053`*^9, 3.7577668149383297`*^9}, { + 3.7577668506074743`*^9, 3.757766903098508*^9}, {3.757767602410262*^9, + 3.757767602568593*^9}, {3.757768148554263*^9, 3.7577682153801622`*^9}, { + 3.7577691601019487`*^9, 3.7577691603141003`*^9}, {3.757828473700638*^9, + 3.7578285421007557`*^9}, {3.757828693918935*^9, 3.75782869541588*^9}, { + 3.757828761767972*^9, 3.757828762019991*^9}, {3.7578354214131813`*^9, + 3.757835497958188*^9}, {3.7582826826943827`*^9, 3.758282706258882*^9}, { + 3.758282745491208*^9, 3.758282817357716*^9}, {3.758285016173664*^9, + 3.758285024088009*^9}}, + CellLabel->"In[45]:=",ExpressionUUID->"b345f780-c762-422b-bb72-4f3dcbf7d3d9"], + +Cell[BoxData[ + FormBox[ + GraphicsBox[{{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], + Opacity[1.], LineBox[CompressedData[" +1:eJxTTMoPSmViYGDQAWIQbX275PX//8oHGKDgxs6F7z1/I/hlM859nvwNwd8Q +qvFH/S2Cr3LhNk/ALQSf56iT3oItCP69dQKFDpkIfmPTmm8Nl5Tg/E7x7NNL +uxXhfLkjGouLoxTg/J+eF7Rq4uTgfKvnMYsirkrD+dM3P5dvL5eE8yuiGwz+ +PhOD899ky5TlJInA+TWrtx3U5RSC8+V79zrk/uKD8+sUubiULbngfOb2WNvT +/axw/sTFZ6YxNTLA+attCn7snvh9P4zf4fBXTmntKzh/u0LYu+MxCP4zhvV7 +c3kQfNeDCTE7s1/C+UxOR2YGaL2A82ucu0Xqlz+F8/PdJLnuLHwA589TK7rZ +GIjgn2M7vUKdEcGP6PvZ9+zAPTj/Uv8BTlG7O3D+sUl+/wstrsP5UYZXr4RH +nYLzl5w0F52hdxLOf584K/QG0wk4v2VS/LWI1Ufh/PWfX16P/HMAzhe48Ss7 +v3IdnG9l2ZpbcGolnJ86iz+/UHopnF+y0+PJs6rpcP6k77vOXbTsQYSfyJ45 +TdOb4XwA5ba/ag== + "]], LineBox[CompressedData[" +1:eJxTTMoPSmViYGAwBGIQ/Uxkz5ym6c32MNo9Zm5LW8wCOP1pZkdjy66VcHpJ +13pbB+ttcJo/6tWe/ZN2wOkqTVUb+1e74LT/iVlWdjP3w+m/TIel51UfgdMr +HNZJzLl5Fk7/j3XiPON1A07/mOXLEvUWQX+6HvH/ef9NOP0sMP8r89VbcPqM +65yH1vF34fRZsd93rlo+hNOz/4VsdfV7Bqel01k2T7L+AKc9qvZ7a23/Cac3 +9yueufiP0QFGS02M4ZDhYofT3iazLQ7t44bTVgLxC3NyBOC0cXiRgto5ITg9 +07Qp65myKJxeYhvny6GHoDe4WhloWSDoE6Gfvub6IOhvpUmNX0sQdNA2pxks +xxA0lznzMaUMMTgtZn9/hUsRglZ0392dVoOgLcKLA1dNQNBp5Y/vGO5E0Ie2 +H/7swCUOp6stWhTj1yDoU+4eey5vRdBS4TzhHvsR9I7SKT2GlxD0l01LvjP/ +QNDOhzImVTBKwOlJF3V033IhaIMPW5KuySLoHN2jZ1c4I+jdNp0Zsr4ImsvH +l3lSGIKOjBacx5aAoFdkXbWozkTQhdvi20QLETQAzllQ5A== + "]], + LineBox[CompressedData[" +1:eJxTTMoPSmViYGCQBWIQ3Vr0h2Nti4RDtcg694dVEg5KT7/yKWxF8OOU2Ko+ +3ULwA8Td1WyKJOF8R56OS62cUnB+EkdzYmmgNJzfzFL3IWWmDJxvNKXgppes +PEJ9lVHc+10KcP7LPaptUxmU4PxHzyVXTzJQhvMnxfWYTo5SgfMbnpd/ez9X +Fc5/EJGyZfFpNTi/7s7JFZuFNOD8Pg+DWVIumnB+CIPox5Z8LTg/4lRRnfcW +bTj/fM1FjszHOnB+i+PKk4+09eD894H/38fn6cP56aqrOWf5GsD5X7Umm236 +gODvWfL74dcOQ0T4uig7WMsZwfnyue079Q4g+JJcORt9w43h/DvWky8vW43g +z8vd9fX/fwQfAHVfwT4= + "]]}, + Annotation[#, + "Charting`Private`Tag$3800#1"]& ], {}}, {{}, {}, {}}}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, + Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, + Charting`ScaledFrameTicks[{Identity, Identity}]}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Identity[#]& )[ + Part[#, 1]], + (Identity[#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Identity[#]& )[ + Part[#, 1]], + (Identity[#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{{-10, 20}, {0., 6.12}}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, { + Scaled[0.05], + Scaled[0.05]}}, + Ticks->{Automatic, Automatic}], TraditionalForm]], "Output", + CellChangeTimes->{ + 3.758282757552134*^9, {3.758282788914091*^9, 3.758282817859563*^9}, { + 3.758285017755877*^9, 3.7582850250071774`*^9}}, + CellLabel->"Out[46]=",ExpressionUUID->"2780a80e-bda8-45c2-b1b0-3eb6caa89a36"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"D", "[", + RowBox[{ + RowBox[{"F", "[", "x", "]"}], ",", "x"}], "]"}]], "Input", + CellChangeTimes->{{3.757769150843001*^9, 3.757769154243264*^9}}, + CellLabel-> + "In[109]:=",ExpressionUUID->"8e07609f-09e3-40d7-af74-38b08a5e8f91"], + +Cell[BoxData[ + FormBox[ + TagBox[GridBox[{ + {"\[Piecewise]", GridBox[{ + {"0", + RowBox[{"x", "<", "0"}]}, + {"1", + RowBox[{"0", "<", "x", "<", + FractionBox["153", "25"]}]}, + {"0", + RowBox[{"x", ">", + FractionBox["153", "25"]}]}, + {"Indeterminate", + TagBox["True", + "PiecewiseDefault", + AutoDelete->True]} + }, + AllowedDimensions->{2, Automatic}, + Editable->True, + GridBoxAlignment->{ + "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, + "RowsIndexed" -> {}}, + GridBoxItemSize->{ + "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, + "RowsIndexed" -> {}}, + GridBoxSpacings->{"Columns" -> { + Offset[0.27999999999999997`], { + Offset[0.84]}, + Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { + Offset[0.2], { + Offset[0.4]}, + Offset[0.2]}, "RowsIndexed" -> {}}, + Selectable->True]} + }, + GridBoxAlignment->{ + "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, + "RowsIndexed" -> {}}, + GridBoxItemSize->{ + "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, + "RowsIndexed" -> {}}, + GridBoxSpacings->{"Columns" -> { + Offset[0.27999999999999997`], { + Offset[0.35]}, + Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { + Offset[0.2], { + Offset[0.4]}, + Offset[0.2]}, "RowsIndexed" -> {}}], + "Piecewise", + DeleteWithContents->True, + Editable->False, + SelectWithContents->True, + Selectable->False], TraditionalForm]], "Output", + CellChangeTimes->{{3.757769154558042*^9, 3.7577691626113*^9}, { + 3.757769617898608*^9, 3.7577696533545313`*^9}, 3.7578287200170727`*^9, + 3.757828765494636*^9, 3.757835435982698*^9, 3.7578355211607018`*^9}, + CellLabel-> + "Out[109]=",ExpressionUUID->"368b90c4-a174-42ff-88ff-fa878b289f90"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{"%", ",", + RowBox[{"{", + RowBox[{"x", ",", + RowBox[{"-", "10"}], ",", + RowBox[{"+", "20"}]}], "}"}], ",", + RowBox[{"PlotRange", "\[RuleDelayed]", "All"}]}], "]"}]], "Input", + CellChangeTimes->{{3.757769607871423*^9, 3.757769651885653*^9}}, + CellLabel-> + "In[110]:=",ExpressionUUID->"755b5a3a-b723-4917-b599-cbfec71b6ba8"], + +Cell[BoxData[ + FormBox[ + GraphicsBox[{{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], + Opacity[1.], LineBox[CompressedData[" +1:eJxTTMoPSmViYGAwAGIQbX275PX//8oHGKDgxs6F7z1/I/hlM859nvwNwd8Q +qvFH/S2Cr3LhNk/ALQSf56iT3oItCP69dQKFDpkIfmPTmm8Nl5Tg/E7x7NNL +uxXhfLkjGouLoxTg/J+eF7Rq4uTgfKvnMYsirkrD+dM3P5dvL5eE8yuiGwz+ +PhOD899ky5TlJInA+TWrtx3U5RSC8+V79zrk/uKD8+sUubiULbngfOb2WNvT +/axw/sTFZ6YxNTLA+attCn7snvh9P4zf4fBXTmntKzh/u0LYu+MxCP4zhvV7 +c3kQfNeDCTE7s1/C+UxOR2YGaL2A82ucu0Xqlz+F8/PdJLnuLHwA589TK7rZ +GIjgn2M7vUKdEcGP6PvZ9+zAPTj/Uv8BTlG7O3D+sUl+/wstrsP5UYZXr4RH +nYLzl5w0F52hdxLOf584K/QG0wk4v2VS/LWI1Ufh/PWfX16P/HMAzv8sPtPA +ZOF+RPh4xG3c4rkXzt+88sWmrbN2wPkCN35l51eug/OtLFtzC06thPNTZ/Hn +F0ovhfMn/J5ZUJSzAM4v2enx5FnVdDh/0vdd5y5a9iDCX2TPnKbpzXA+AJlv +0nk= + "]], LineBox[CompressedData[" +1:eJxTTMoPSmViYGAQBWIQ/Uxkz5ym6c32DGDwwf7TzI7Gll0r4fwlXettHay3 +wfkrHNZJzLl5Fs7/H+vEecbrBpw/+1/IVle/Z3C+dDrL5knWH+B8j6r93lrb +f8L5m/sVz1z8x+gA40tNjOGQ4WKH871NZlsc2scN51sJxC/MyRGA843DixTU +zgnB+TNNm7KeKYvC+VzmzMeUMsTg/GqLFsX4NeJw/pdNS74z/0Dwc3SPnl3h +LIHQ7+PLPCkMwV+RddWiOhPBL9wW3yZaiOADAJ1uYBo= + "]], + LineBox[CompressedData[" +1:eJxTTMoPSmViYGCwBWIQ3Vr0h2Nti4QDAxQ8Xf50sW8/gm+yfaXdoRkIfsux +3JtmixB8padf+RS2IvhxSmxVn24h+GsNT4mkP0Hw/zj0rb/9FsGfFS/29AiD +JJx/fY5awHQ1BD9A3F3NpgjBd+TpuNTKKYWw/8l/v6PCCD7LnvLTLHII/rHs +9CPNRgi+12m3bY3RCH5QF+us2rUIfhJHc2JpoDSc38xS9yFlpgycbzSl4KaX +rDxCfZVR3PtdCnD+yz2qbVMZlOD8R88lV08yUIbzJ8X1mE6OUoHzG56Xf3s/ +VxXOfxCRsmXxaTU4v+7OyRWbhTTg/D4Pg1lSLppwfgiD6MeWfC04P+JUUZ33 +Fm04/3zNRY7MxzpwfovjypOPtPXg/PeB/9/H5+nD+emqqzln+RrA+V+1Jptt ++oDg71ny++HXDkM4P85F2cFazgjOl89t36l3AMGX5MrZ6BtuDOevcK6t+hCJ +4JvV9jlPjkHwgz5suHojEcHvuvb1Z3IOgv9rUb1TVSOCf8d68uVlqxH8rNIl +czzXIfg/1m1NfbMBwRdRuvHdcBuC78MhK7P3AIK/98qylMtXkeT5duiW3UDw +b7mf/CZxG8H/tut1R9wDBF9vocHal68Q/D23HMt63iL4XiLB9vofEPy09tKL +JV8R/C8H2maJ/0Dwm35NT971C8EXMFmpE/sXwZ+Xu+vr//8IPgCTLNpW + "]]}, + Annotation[#, + "Charting`Private`Tag$66113#1"]& ], {}}, {{}, {}, {}}}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, + Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, + Charting`ScaledFrameTicks[{Identity, Identity}]}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Identity[#]& )[ + Part[#, 1]], + (Identity[#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Identity[#]& )[ + Part[#, 1]], + (Identity[#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{All, All}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, { + Scaled[0.05], + Scaled[0.05]}}, + Ticks->{Automatic, Automatic}], TraditionalForm]], "Output", + CellChangeTimes->{{3.757769608419174*^9, 3.7577696543386173`*^9}, + 3.757828721891801*^9, 3.757828766940044*^9, 3.757835437374585*^9, + 3.7578355225401373`*^9}, + CellLabel-> + "Out[110]=",ExpressionUUID->"57c09952-dd78-4249-b11e-a32c2dddede6"] +}, Open ]], + +Cell[BoxData[ + RowBox[{ + RowBox[{"G", "[", "x_", "]"}], ":=", " ", + FractionBox["6120", + RowBox[{"1", "+", + RowBox[{"Exp", "[", + RowBox[{ + RowBox[{"-", "x"}], "+", "5"}], "]"}]}]]}]], "Input", + CellChangeTimes->{{3.758276129142617*^9, 3.758276147298856*^9}, { + 3.758276184070009*^9, 3.758276226521646*^9}, {3.758276282501145*^9, + 3.758276285868677*^9}, {3.75828118360719*^9, 3.758281185012753*^9}, { + 3.7582847078689938`*^9, 3.758284710918268*^9}, {3.758285046311775*^9, + 3.7582850466003857`*^9}}, + CellLabel->"In[47]:=",ExpressionUUID->"31e3dfa2-15a7-4036-b188-62331ca14f94"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{ + RowBox[{"G", "[", "x", "]"}], ",", + RowBox[{"{", + RowBox[{"x", ",", + RowBox[{"-", "10"}], ",", + RowBox[{"+", "20"}]}], "}"}]}], "]"}]], "Input", + CellChangeTimes->{{3.75827615586591*^9, 3.7582761561554623`*^9}, { + 3.758281196739649*^9, 3.758281202092382*^9}, {3.758281304164719*^9, + 3.75828132617336*^9}, 3.75828137114268*^9, {3.758284712194335*^9, + 3.758284717316959*^9}}, + CellLabel->"In[48]:=",ExpressionUUID->"89e2d575-eabc-4561-9cef-87861999c7e7"], + +Cell[BoxData[ + FormBox[ + GraphicsBox[{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], + Opacity[1.], LineBox[CompressedData[" +1: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 +tkxiKP4fGYGP3Q== + "]]}, + Annotation[#, "Charting`Private`Tag$3850#1"]& ]}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, + Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, + Charting`ScaledFrameTicks[{Identity, Identity}]}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Identity[#]& )[ + Part[#, 1]], + (Identity[#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Identity[#]& )[ + Part[#, 1]], + (Identity[#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{{-10, 20}, {0., 6119.998127877226}}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, { + Scaled[0.05], + Scaled[0.05]}}, + Ticks->{Automatic, Automatic}], TraditionalForm]], "Output", + CellChangeTimes->{3.758281326635113*^9, 3.758281371377243*^9, + 3.7582847176775627`*^9, 3.758285048877262*^9}, + CellLabel->"Out[48]=",ExpressionUUID->"5aa8ebaa-551f-4695-88d2-561a8f47d302"] +}, Open ]], + +Cell[BoxData[ + RowBox[{"6", "*", "G"}]], "Input", + CellChangeTimes->{{3.758281191007758*^9, + 3.7582811918252277`*^9}},ExpressionUUID->"23a7d6e0-f7d1-43e1-8301-\ +83d26edf4abc"], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"D", "[", + RowBox[{ + RowBox[{"G", "[", "x", "]"}], ",", "x"}], "]"}]], "Input", + CellChangeTimes->{{3.757769150843001*^9, 3.757769154243264*^9}, { + 3.758276581945362*^9, 3.758276583075118*^9}}, + CellLabel-> + "In[127]:=",ExpressionUUID->"f784ccf6-07f5-4576-8b62-c9c1e85c04a3"], + +Cell[BoxData[ + FormBox[ + FractionBox[ + RowBox[{"6120", " ", + SuperscriptBox["\[ExponentialE]", + RowBox[{"5", "-", "x"}]]}], + SuperscriptBox[ + RowBox[{"(", + RowBox[{ + SuperscriptBox["\[ExponentialE]", + RowBox[{"5", "-", "x"}]], "+", "1"}], ")"}], "2"]], + TraditionalForm]], "Output", + CellChangeTimes->{{3.757769154558042*^9, 3.7577691626113*^9}, { + 3.757769617898608*^9, 3.7577696533545313`*^9}, 3.7578287200170727`*^9, + 3.757828765494636*^9, 3.757835435982698*^9, 3.7578355211607018`*^9, + 3.758276583311789*^9}, + CellLabel-> + "Out[127]=",ExpressionUUID->"a6c24978-6a42-4e9f-a867-80ed321e9863"] +}, Open ]], + +Cell[CellGroupData[{ + +Cell[BoxData[ + RowBox[{"Plot", "[", + RowBox[{"%", ",", + RowBox[{"{", + RowBox[{"x", ",", + RowBox[{"-", "10"}], ",", + RowBox[{"+", "20"}]}], "}"}], ",", + RowBox[{"PlotRange", "\[RuleDelayed]", "All"}]}], "]"}]], "Input", + CellChangeTimes->{{3.757769607871423*^9, 3.757769651885653*^9}}, + CellLabel-> + "In[128]:=",ExpressionUUID->"38630a6f-4f21-4ca0-a2c0-3d40bbce384d"], + +Cell[BoxData[ + FormBox[ + GraphicsBox[{{{}, {}, + TagBox[ + {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], + Opacity[1.], LineBox[CompressedData[" +1:eJwtm3c419/7x22RbDIz3vZ+kwrl3LL3TvYeley9yfqEsqlUSEpKVoXk/VK2 +hh1CtlL2isTX77p+f53reZ3rdc7zdV+Pc93P88fhc/I2cSUhIiISJyUi+r9R +6VvAr8NDHFZfEPcDPbdDw/VFK9p/cdjplej6gU07FJT/eSNrG4eN+VzSYVG2 +R5XmIvvCSzisTnnrWGGfPRLo+UZjNIrDsvlpKsjiHBBN60Wpwtqj76H2fm+L +Iyp75C27+BKHLb3viB1fdkQacQVnTpfjsIDCyFk9dicUg7aVO4pw2K/j1YOW +3k5oq77McPUWDkt/+rRKg9cZTVTQ+8IVHPapSpdOI9cFhaddCLzpgsM2TfP5 +/rW5IDbPq6ED9jjspdu5MOE/LshEtCXW4xIOm9FgUBu1dkXtj4Iz01VxGP7a +/sshETdUmT9RM8mNwyKVFfHCo+4oNu75dkwfPxYgSj9/t/gaGoo4/M/1Ez8W +6RD8NvHnNSQWbMKt08GPcXoNZYrgPVHftT+qTE38GGtbcn7Oe0/Eb66W8biM +Hxsz30Day9fRB+Ex8a4YfkwlIPaGi7wPYuOXJlSE82PvBwwu/rPzQZ5ccSZZ +QfzYfKh1M9F/PoiZQSTUxpMfsypq09Gb8EEue/5tyxb8mPKulgzzLV9E/um4 +I5M0P+ZEZPTVldQfWbXbbe6I8mOvjxsp4k/7o4rmqqQxAX7surPjUKirP7r0 +2qLiMQc/dlfO5X1Spz8qffjo71kKfqzcdcSmIS8Aafop5dqM82HL7HEKj/WD +0H8nr3U/TuHD9CKVDItFw9B52i6SqUQ+zJDW3dzAIwwtk4kqcsXxYZSOmRHp +T8KQyfr808wQPsy5tePLmHA44vrklBjtyocxptO9eicdgSrirFQsER+W+OaH +8ZJtFHIIrQ/JVuTDuHBRmeWlUYjJh63yizwf9mKcm5ltNQqF2A6d0pDgwza8 +6V1IEqKRyjmTfVl2PsyJRO/aY+sYNLCk/YZmgxfTMq14nvswFiXOPl3WXObF +BhqOM37ujEXnvlEK3fjJi91bkMy/uhmL7ne0Zu9+58Vk1Ej6hnTikNsjFb/5 +j7yYqt8wdd5+HNq9rCCJlfJiJHv0rbkB8ehUi8gjfyteLOxWvCxbUxIqbl77 +2GbOi5lq9MuMbCUhQULDNrsxLxap08PJLZWMJBr0dDBNXoyH3jNZtjAZKVb6 +rNHI82KfosvpXt/8D10qqEOldLyY/pwK/fmwFDR6J/bKLjUv9phzwfh9Qwqy +zdPJ0qPgxXr/PmKb/JuCOgTqP83t8mB+n7+3L0Snohl6Yq7oAR6sTk3G3fB2 +GuL4mV5X9R8PxuX0K7/j423EN8tPczmGB7tis/mk4Xg6Evlea38QxIMNHE5X +euDT0ZnBYQpdFx7sxotosi+R6cikmdd8VpkHe6se9fIbRwa6eadyjXXzFPbQ +NuJajVsm2tXuEYuwO4V1fy4wbNTNQV4RFQUWZqcwqQsk40RxOWi2IpVWTucU +xiKiVfulLgd9ZtJe/yl/CtO8mdTKIJKLiseb6y1OnMI4+N6MGZzIQzq+NVpy +jdzYOKeY5OZGPiI8ymigrebG7P/rD7gpdwedHvKWWHzCjR24NLS+97+DTilJ +0BdlcWPqdLt7PNt30DrZ46+017ix+vC3Uw0k99Dd/Fy3RXZurECbV2D9/H1E +1x0w3ErHjQ1wtwz6J91H8f9MdIrIubHA2jXnmr77yMuJTuryGhf2I3qjzP/a +A3RRInmrtYMLexqM35UqfYgWCaHxRcFc2NjQa2JRviKkuGBTfHmQE8N3dBae +YSxBnoymNlPdnFgLY6rRskoJun9Bm/Xqe07Ms/mt70m/EkSULX8z/CUndprv +qcr7/hLUBrR+D/7jxEiGcGfyCx4j47sEldkLnNizjYBVZfUnKK711V/P05wY +Tr26PSPiCapdLX+1JcaJzXnaCnrUPkGsmvmilGycWIh4vmWJ4FM0tuHDILbO +gVm07aRH0pYhD33+Ke9SDozI/UTUwN4zdDeE7d6fAg6Mqcxg5I9iOep+RGse +m8WBmb1trXoVXo6k9vY6MmM4MF+Kd0kHB+Vos7S/8pUVB+ZK+VN1i+YFiiFK +iPlLy4F9VyW3atN8ifJqFniSgtmxzWIWfQ7+anSGVeyP2nV2zPOtDOlXo2o0 +FOLZQ+LMjuXv90jRxFQjVuW1mCgDdmzteMaH2e/VKLtjbypQkB3jUXV/4Pu4 +BqWPnyhx6WfDBOJqSjm0XyEZMIrg72TDhsSR3k70K/SlONNssokNczjssHB8 +8wrRepwkt3nGhgUqil6aEX6NUtd53Uxj2bCAE6O17XRvUDLlaZGL0myYa4xZ +hct+HRK5GkREJMiG1S7a93Sdr0ftH+uG33GwYSbvM38PRdYjiswL/ylQsGHG +do1tC8QNKJ5Lc1Fm/CQmzf1xjJPxLYrBWz3nSTmJLepJ81ubvUMh1jEy/+ZZ +sZDo2YnPZ5pRQ3fu0uIYK9bwyKTBxqkZ7Su9eDbcx4o9M1Vsv3yrGUVzjQrU +NrFiC4da/Q8XmlHiuBz7tVxWzCDz12Tyw/cox36BeESdFfONFivuFGxBQ1/+ +NbUpsWJvbazDPlxuQWzAHFGLZ8W83qboKKe2oAJele3b3KzY1GvRlbebLahk +6u6ixhYLFmBr2/q3uxVVOxv015awYFkkxKmN2e1os98lvfguC1bQJ83p1tOO +zqiF66ens2Bdu0/vldJ0oHqBp+3XIliwT7oZ19YTOxA2R9zIb8aCpU9L732P +60Rf3F+VpJOyYFRObMaBd7rR72tcQZ5OzNhn9QeyjUI9aHFAJ5zSkhlz5R3Z +GtLrQT8uhMYUGzJjfJqfC3T9e9Ac3dDN4fPMmG7ZrwX15h40UXP7odpJZuwk +33WeXMde1POXpJPrIxM2PWLGe6W2D312wX9+854JmzjJ8uO/yT708ZN9v0k9 +E5bx7EYH44l+1PmwcTy5lAmzdG8od3DvR+9Vg9Y3Y5gw/cRI12N8A6g25Sfn +J3kmTKtsqfxq2SCq3jzJ5yHBhDG79EkkjA2iSlsNIVIcE/a5bkGBjX4IvZB+ +JKNAz4QN3fP2fB4yhEr7bdQfLzJianwha88Nv6J8zh6vyIeMGIejpC0L6wiK +KH/dLEnFiDlLjjGZnBhHP3Txc/8OGLDG5yTPn1mMI7Pf5cc+bzJgedQBUc3F +40hSssjQa5IBqyv38MUrTRzlk5TxijcMmIJH675R4HekUu2wK+3GgNEPuFqK +HptCFSbfuIhsGLC31iFEBLkpxLFhDj3GDBjPrwWxFvsptC6nm+RzgQG79yYt +lq9+CpW8kmepYmbAgh9+5tLynUYU9dR42Q/0mC7GQ2TwZwb5WSaYkdTTY62m +xf/cxWfRxO5hcF8FPTbBu/uGzH4WvVHcavK7S4/5Z/Q/7G6fRR6N3/VqfI80 +38ei2odzqJtQ63Galx7LWtChELu6gHjS3sH1PVrsy7tzQewBv5APYfqkxwIt +Vjqgv//k1S/0fo1yxWmAFvsZfY6kf+cXcrlkcv9yBS1G15LlRhb1Gz3jWdhV +daLFzjP9UzvIWEJnqulrOLpOYL98LHufjKyg5Fn5myxvTmCj1wbzRxlX0Qir +tSN9yQnMsm78xHmFVRQR/piOIuoEZqX79Blj0ip6r6bouYY/gRXTtY0LCa8h +g6/Ogh13aDAsZz2qJnQdFVL9t/8+kQZ72L6W2PN4Ha0pVfS/86fBuh82D1/q +W0fZhX9ia/RpsNKPWVqPJDbQ6JW0iQfENFjFgLaLxfwGctt/nRd45Thmo8g7 +wey9haL4qKlxCtTY4CP5uIrxP4jZ++uzSCFqrKV08sr3k7voWWOJ7jATNdb5 +meV6vskuGrJAaWnLVJhCBXvzk85dJHUrgP7PIyrs6lVmXvumPfR9b4L1Ey0V +Vn7w+f6lD/soSOv5G+H9Y1io862vJRT/EE1u6OW4n8ewE6SLwek6/9A5PPPd +sy3HsONanhXqA/9Qurs2d3HoMeyLi/8/o5UDBAM1uOBZSgxNc/k+LCaCIb7Y +lt5eSuzDrEZNSicReHobuEoQKDH+n9E7fatEkE/9s3TqDiXm73dsNBCIYQ1O +iekZUmIU9DSYwCwxFL9IluFroMBexv26+usCKZAm2V7ovk2O1TZ351SoUECQ +6geO9HBybCq20wMfRgE/DkX+mLmTY2TE2zmqNRTwMWSzekKZHPu1qFXBKUwJ +2VdTRNaXyDC+IabrH1iOgZBBPRO7Hhlm9kGe7iI99ZEfnrXxs2TYr+y0Rk8T +aqBuj/9cjCPDokhGT6McalhBRv9J/CXFEvBdEtNcx6EOv3CAnpFiAoYFNYan +aUCHhWXR7Rgp1ls2iTdNoIXG3rB28U0SjOzhKkl3Hy1I3ZosWf1OgrGMUslT +8tEBE+Vz+7A3JNhlDtsbAwQ6GPtzcTDNjQQT8W0RirxBD15jPlhtCzEm893r +9cMJBsh49DGXJJYIc+3K2sv/zQwRxk5k/F5E2O7tdjnuUyzgfrjjq2JNhD2h +DHJjNWKBC9Y4/Rh5Isx3VP6Y5ysW6BfcpNjvPyQ8DVjbe5/ACvFkhpPrjw8I +dO/6OE8ps4GVQ9hbfMwBYT3nZllIMBvIND7O9bE6IFy/LlFkVcUGY/77esu0 +B4QPCq+76oXYQX6mrP5n8D+CvGV45jE2DphvJsua1N4nfLvHJ0fLygWN3DJe +PAL7hPbpXpHwy1yQGWqtbXfwl6A0uDISf48LlPHVh9+q/xJyCRSyAThuyCu0 +9/zK+ZdAyfrfl1+Kp0ArukH989Iu4am2zZVONV4oP+/z523GDkEv6kl2+jA/ +KAZ91PvisUNwqNvd+3YMBx0vRYqm0Q4htCKBUKyAg1n+KW2q5W3CFfpvOk8K +cHCKyuTeJZ1tAjlbiedLDwHIHJRTXiPZIvQ88XCZYBcCXrr0TLLRTUJPvaZ9 +qIkQvNT6PX+yapOQPPq1qyRFCD6+LbmtbL9JwBI7KqoPhYC8mGUq5e0G4eKV +qFv9y8IQ4rVzQyhgnfDDW+xvxKIoUDw1HVbQXSek+MzH9kmIQc7USwl9/nWC +Sdwcc6+3GFSbeQz696wRvH900PXsiMEvxRGhZok1wk+2GiZyeglopA3KetO1 +Qoi9dUH9q5MUJMO/U/wvFgmWDQ6Jr77g4Q3vpeV2m0WCB2llrPM+HuaJXr67 +TrNI0HR4NxsjKgvqzQ429dd+EobUhKVoE2SB5GLLHSOxH4ShSJ6ADBU5iFBN +YY5+MkdgmbVqOtd7GspxszMCFnOEPf+s+87k8jBKeqGmi2KO4Hr9kh69ojwo +tCwbs7rNEsyu/WTeLJGHbTWT2y8EZggafbaTx2LPgLcGO/VY0SRhfZJnOs30 +HDwQ8huJNZ4kJNTJP/BNPwefKbqfChNPEmySPGJ/fzoHl2/t3prHJggzd+jj +X+goQN9tjIpFeYxgXujwLEFXEdoyDQ59z30lhHzajJ25dh6s8IMDFlZdBOom +zRX7OwAlnWdZ8qU6CSo2mxUHBIAVx7vmwyQdBJzhG/XteYD4TPuhy+WthN3W +FLYNeRV4ufHzq+U+RphYLMhQGFYB+uG9a96hFYQFZzqXKilVUFRIuO7TVUZA +AaMTytaq4HqXztuX8zFBl2wqRDZZFQLqtWbnw/IIdw9s7hnOqIJPWMcp/r0U +RPIt+E/YAzUoufnyAii9RqUC42buohpAZ7XYSMisQ7OObypabTQgTFTwPFps +QA06L3TupGuAYcddReU7BGRKXW9RsqsB/0g+cD4Ib0FjmmqP3Ho14SlUsBWM +fEIOog5L/+Vrw6HtRaqPOsOoQfpLkXSaPvy5q09mtTSMikc8R/m+6sP618uH +C7dH0GbAGeNOPgOYN/beIh0cRYWCrwuV6w3go3rBlJL9ODof8ot3fdUQPrH+ +HRtUmEJmC60PYy8ag86rmFGulCm00uyFT71uDG2mFMPOY1No4z/LuMN8Y8DS +GfrXoqZRtzi7uMCaMdRSi3SeaJlBw+Rq8TGlJnDvwOyVusE8qmypxTkLmQHb +/dHq1Ifz6IVQrIb3ZTPIVnKo7F+dR98L+fCbN83gVsi1csesBbShcbPUc80M +4tZjiyKHfyCyqG9xZ1rMwWO+Iu2V0y80u/LUUyTOAjjdyWoylVaRLPe/hQ53 +a/AwdWeIdVxFiSyFck9KraEWdXl7H/Vlb7kFGvp5azBgS5fQ619FT5iPtya4 +2UBMJ2cp+bU1lJtkKsfrZQvz4nJ3Qu6uIzKesaETd+xBji13xw1bR6WRi9ac +U/YQQ7Zrbj6/jkyoD/qmmR2AfbyJUVZ2A/3Xw1AWZucAerd0Un91bqDfxHH+ +vlsOUL3qGG23u4kc2TPKyeWc4HCsZVyPZwt9eTPDfN7GCfQ6hc8rqW+h/ROJ +fV0JTjBXtPTnZMYWWpePmdkYcQI201C/XpFtFMTp/yox0RkiX6W7ql3eQcEe +Oc5qay6gFUbQFXuzi5imLlOuMnjAWPKajNrkLuIrS9g61PUA3zwcqx3VHjow +XHqWkegBd2uTJjOs91B7FYOQ8j8P+L1sGLh7uId6Z54VDK5egXTnyQcdWvvI +Q/W5W9/aNRDwY4yf9t1Hc/cEpr1Pe0J9jNqV/bv7KNjxpNGDYE+Yvv9UTmZp +H404vh2rOvSE08M+HXkZ/1Bx6YdXn1m94Kse8brb6AGaK5/+9E3GBzyt5b7G +kB4in8mRvV+XfIDoqmvjXYlD1N6WaaEX6QMiSZ2Jn6MOkXyGe8phlw+8m+w4 +cY+BCCJfH1e+cNUX6DgzikleE8F7iZTx6Do/qLnN97H3gBi6fnnlWOYFQl04 +49YBIwkQk+3s+rQHQpM76SkJYRLglH+VObMTCF1ozjvRkATUSnynv1kGweTK +UyalQhLwiw1Ww/EHA42RjHWJCil877TgsG4JATd6tBgUTwZ5Od9xacYR4Lkv +zVSSTwan2Bjyn6VFgO8P3vO9z8lA+DKNiURXBERgJLfEB8ngtJ2vtK1aJGT5 +tOEnBcmhd3iXL+RCFGA9+qHa7eTAJ6BGYcoXAxwZNse4qClhX6izzEMvDp6k +cBctc1GC9sj0I2OvODidOKHQLE0J6d/DSl3T40A/3OGamzkllH/D69AOxkGM +q8vnykJKeHz6pp6dww2YV/DMVj97DMaFZWEwKh6qp8N5vV2oQIXEOShvJBF0 +T987977pONidT1mfWE+BfcKHbLH+45AmI6k5wZsKz3V/r2YuHIeLXgY8Gwap +QOt8ocyZngasdf7WW5anQk/Gd3ZyJxpod+pwJnJNg0sruL+a5CdAqckncHD0 +Fjg8e/7uky4tGJR+exE4mw70ZwbZzzjQQmuI8H+df9Ohuflf4IMAWsAxW+NY +mTKAf8RAyvs+LXjn+U7lqmTAHOXaA/oVWkjdeKuHe5ABV13lY0wz6WBSXPhB +p1kmKNLbF3l60sNS+hobd00WXLK1TtoIpAemSDuDprYs8HtmcT0smh4eeZ+J +UhvNgmdqRgrJmfSwQB2q+I8oG9hDVXof1dFD+sYUF61+NvyZwhF/I2MAbtZb +ttzfs4FZmnfBkZYBCJHkx5pXs0EmguvTj5MMoKua44FIcsCDleXOthgDhNK/ +bOkUyIGvOhR4RmMGWP01Y07qkQOva344aN9nAL2A1qLo+RzoI5rT6CllgOK6 +iQvxWzmwrD8lYVHJABK/X3RakuWC0I+RPy4fGMDKM9kxkC8Xcri602N+MkCE +VE+1nWUuVF5pD6LcYACK6/Rzo2658PH1B5tb+wygGuKdigvIBTLjRpECOkao +yVFhZ7uVCwEJL7A38oxAM0P/MJqQC+l9ZaXKiBGex3nPGHXnwnOe0tRWLUYQ +5cYSF4dyYbb+weV+a0a4p9tIHLiUC2bLt1eXYxnB8aXD+MjJPPBRSh0KTGEE +1OzDO8WXB6nJyY372YwwcydS6IV4HrTwxyZTP2WEcQWtoQzlPJCz8OMV+swI +miZmWJxjHjzPvcsX+ZURGr4ONEZcyQOhoff8A5OMINdjPqbomwcc5kyCcRuM +kHaBH5HE5EF2tpLQyD4jsCVXzFEn5cGJAWdhGQomYLvbFTiUlgdEprWiE2xM +YG10S+7V3TwIyxwTk+dngoW15q/thXmw0UsmkSrOBLevl5kUlObBvJG5lKIy +E8Qxsw7+V5UHDumR0hmaTDDSLOde/DoPRr48lvlhxAR+b2Au/G0efDTYls11 +ZgLL5xVDPi15oHHr1OklTyaYkrP+mdKRB4RPGvJqQUzw+3WukPvHPDh3wvvM +vWgmoPYtdiHpyYNqvbyz68lMYCJ+LcK2Pw8kUgnntDOP5ptStUOG8qC0e0Gh +8B4TRJmbPzMZyQPe4/RKOyVMMB/aEf37Wx7c0Tl33qCCCcxHil6oT+QB402H +C4/fMMFsvwWH3eRR/TuTlfcxJpDq5H4pP50HFFRVyLSLCSiF5y0+zuRBjNYI +POs/qpeCCyn/XB7sJRFfJB5nAs76E4/OzOeBf7uo6uV5JpDl4RKnXsiD3xQm +ai9XmOB5dVpmwZF20whTp9hlglgrof6lIz2ZUKxhS8IMo5I+P/8dacvWLs3a +48zA1fJ24OOR7iPb0DrOwgxTarx5VkdaT41Tx+kUM0SfDZd/crRf2w1V3Xph +ZrBk9HlTfeQHPlzTo8czw+//3IUjZ/OggSRb312RGdoe3sqkOPIvd7HRoEmV +GTJ8B48ZTh3xEztryKLPDCYdSwWXvh/x00xj7HmJGZg8tF24x/OgkEje5IM9 +M+jzsgU/Gj3iCWxNOa4wg9V99dUfX494ik4w8/VjhjN/g5aWBo54Irww7whn +hh32Y7ere494Uj6wCLrFDCkKCgbhXUc8RQpZfspjBjUPyobotiOeGg2sBIqY +4evLm25q7494Unpo01fDDAemmkp09Uc8hbfbir5jBiWusTaW2iOeGlbsYtqY +YWO733K84ognBXCUGmEG4iy+0MpHRzyFejglTDND/AW/yMb7RzzVpTuP/WKG +aTGG0Jt5R/ycnXK9ecAMIm86Ha/fPOJBPu7qPI4FpNJP91+6ngclF+z0j0mx +wCvqgqGPLnlQqa4oI3aOBYZPQ+G+dR50mK9vXddjAZqhBuUU7TzYDnSK3Qpg +AZU7fg6+R+eXJErZ5WQ0CwiGS519z3pUj0QOTYX/WKBVajSr53geCOT20UTe +Z4FJ/NqW8FYumLy+mE/WxgJ/6fWye1pywa7pVLhQDwtoUr5/x1WXC1fa9my1 +RlnAn8fyu1h5LsQMVeNSl1ngWoyA/+30XKjY5n/JdJIVtj7Fnk65nAvUZ0nb ++D1YoU9XLn9iPAdY0fenan6sYMHFOJD7KQf4NN+muEWwwob4fibnuxw4Z+Fv +/CydFb6cXQ1Ou5cDbsEzY/h6VijX+O+s8KUceP/mwwZQnwRvUsnx4ffZEH4u +ns/++UkgnDk2mBKdBV2aWo39r07CyZxm+lfXsoDDgsZCi3ASuPZfZLdZZEFd +YHYqvu8kWN38uF4inQWb1SU7pH9OwiN03NFhIhM8JVs/PVVlg723zjzW5zLB +jp8ibH2UDVyH3oTHT6eDCk1yXwIVBxBHen/jsk4F/tlDg1YmDiiO+ez/RSIV +yBqDu8lOcUBuhcONvIMUaLvm3nJDlgPKfYSKrhWngE63xutYaw6gc1KWOv/r +JpjcJL8b+YIDTD8JPj8d9x84HbvhGGjMCecnnSy8uhJBdXJvvNaaE3S1rFU0 +ChNBoM7PatOVE3pNZi9qByXCvLuTqX8YJ5zOsjPp40+Eq+0q6r6POGGuc9hs +PzIB/BKJRK9vcYK4hBIP6YV4uEEWtepyhwsW1skrRr/HwvvPfMkBj47u4ZtZ +ZxwaY4HoTitP/Asu6Ll8Pf7knViIkjxh+KiZC4ovjH3mNI2FkEsFL6Z+csGV +8Sr1yM4Y8HracNVOkRs0ioJNbaOjwUpvZ9biGzcI7F7Fpz8Khzus9yLc57hB +efVbC+5KOAxPKjMHr3CDV40dnkM6HMwDE1VzSU9BR1oQJtUYBkYPWIoHxE9B +pd5Dj9XRUNBYlbM3jjgFskrN7QViISCb7TOiw80DIo7XKwPpA6HWdV/khRAP +PFSverA7GwBnziaH0MnwwI6C3beu+gBQGn14cuAiD/Ska26ZugSAGu8Xc1sP +Hgj38IrYafQHi+eSfd41PDCwfzXqXIQfjEbW8/U18oCakp3lFXM/sDFU9z3d +xgNPjs2yTkv5gcO6Df3uMA90S+x/Lpv2havnUg3iDnjgq9Wxs8n6vqDsFOja +JcALNd3LojJH+fdQRyktXJQXfB7juWtP+AAmR/xKQooXhnheX9oc8oaL5Glk +t8/ygoyTv0quoTdoPi15ZKrDC7V0lPq/NbzAaLl/asybF0DyccJ5fU9wCpO1 +W2ngBd1hKir9Gg/w1OzbJsd4If+ub9uPEA8IYva7zdXKC66KFDfIkAfcrKjC +tL/wQiuJmk3dR3eomZbBlczwAgvLO/c/S25Apiv94zINH/z5fOcUk6Yr0LJ9 +ifFm4IOpwLtTqsyuwDbnxZ7IygclKuyJ81MuIBFdoVPDywf8lBVUUVEuYF4j ++eKEPB/opbroTDQ6QymnhN97Wz6YpvxmWabvBJU/uqlHnPjg1kmHziw+J2h4 +de3RijsfVAYMzExvOcJnw/IBLj8++E+neKX8oSPs3BA7G5zIB39ZjEP7dxxA +67fIvvhLPjjLvS59x98efjYKJuYQ8UPt8WWDxAMryE6rDzMn54cNtwqyfcwK +wE7fm4WaH1yvOXT/uWEF+YcBl3OY+OGshZXejeNWoHWxRSxHiB/4Tx5rbuK1 +hKftTl+y9fhhpHsft+hkAWb52x/MjPlhromDyFzSAoiu3KxjvsQPspeWa878 +uQSXqauLsu35oR43+Nnq9iWg1CcOyPbjhxlXB6fjH8zBre8hW3Y+Pwi4JX1D +yAwYH8mdMLvPD0oXZ949pTeDJv92YuZifnBmS5wNnTYFVpaVxaxyfvjiE5lh +nGQKrRbK77Ka+GFAjLO1adAEBMbHHLNm+eGr3Jr3cLwxTC+wl2fK4MC7/na9 +uL4BvKtSfaEojwOsckf50jEDyA+//nJaAQc/VC7ssLfogz5dc42sKg4edEz/ +cL+gD3VnPBr7zHFHOZLk1d4ZPbiV8PoTYzgOYtspNxfVdOCK4eSXhmgclN7m +nWWm0gE1duo+p3gchJ5IbGr5pA27z22HqtNwICEmW1V1WRtcBsi+mxTioPam +342iAC1QxJmuZrbioA0ILxY+aADLUsS6YhcOZM+vPl+6rQGrr0s3pz/joGhR +4ZaHjQY81tn7IzuMg5s3og7qttWB3q+IuH8RBzcMDhXKZNRhHlthZKIXgAqa +1Mr1OlXItEuVz7ISgCekxad+MqvAa5r0p4X2ApBYei7RbxFgtCGLs8JFAFxs +7A1cMAC+k/eIO70EoMR84mTkdYDKL2WfDuIEgLL2l0NvPoLP0O56tfxoPlFc +pvLcBVhf7hoOrhQAfS7XvKWV88B6/7NuwisBkPxp5D3x5DzY7g7iCwkCcMwq ++kU/+3n4XTX7b7BfAIZsdWfGyZWACkeSq7IvAH/6nz+j+ncOJHrJqQyJBWHg +3R+Wt03nwCiaKsKGQhBGaM7eoYg9B/nf6J2C6QWBX6eHzo3yHAhl80i9EBCE +pd+Qe4rzLKiRX2hj0xeEsm7GKmQrDzELwdsr9wWPcpZ//mlVWdC4491aWiwI +o88XUwvYZOG4rnu27RNBuC999qL7Mv6oD12S7a4UhORpLw++e3h4HijvVfpB +ELSW+h3od2VgmHRjzuanIHwRHLNVTJWGB68Wa5mWBWFYYfZ17kVpcHafvtG1 +LggZY7WMD3alYLmrl+/cviBU/f1b9eSKFJBlVtoy0QkBszn51QhjSZDh9Rrs +PC0EtILjSXPK4rDd61oSoyAEIcqi4iqHYvD2hq3/WWUhiBVQ+SKDiYHGgh7D +Y00huB5p2NGmKgY2FeL6MVZC8C/uzeJTY1FIPv+z5UyMEETQhc2IJQnD5GWX +2kfdQkBhdFl4wkgAlpflNwk9QnBN5WaZE7cA/IunPD02KASZDh6nrxxxxFH1 +rIZ5Ugi4Q2UNdhJwYEa1Vp2webR+ju6Tzff80FEfWeXOLQyWZj1pbqZ8MGRo +uHaDXxjkdiytQ4X5YG6OF18oLAwDHLln//7lBRLGlsphvDDMXCB7r1nKC+ev +UldqawhDQb1txMdDHnjJkVch7i0MoyIJb0pSuaGp0mNZM0AYXrvyLVSpcMNH +DUUpl1Bh2LrL1BixwwU//MZfFNwQhrgw7VlVVy7g78a9OJEvDL4yysyu2pyQ +G15ZvoIJQ1Aw7xcPWXaIGut8WsMoAkT9dr3EEUc5Mei2WuhJEdBhtMIYtVlg +gs58UplLBNRCmBQLWFkAqU6e7BIUgcQcKXvmoxxL9Gw7cfKcCGhM2+2FrR3d +k4JxrifsRUBI4M+B/A1GkGX4SdTvLAL32BzHDS0YYfpZRUG+hwgY/pV60SvO +CKoTCgM4PxGwaarWpxpiADJ1I1XFBBHoaLmgJSXNAImMkXzu5SJgzdo2SrlA +B2eeX3wnUSkCnaPqmrb36GBe/Zjleq0IkJuQrroa0YFmaFZ6ZJMIhFvjbW42 +0sKxybLDrF4RsEzehvWCE3DzxdA4tiMCGVnL6d8jjsMtLZm7HGqigBKf1m1W +UML1bymqHVqiwGVUEj0WTAl6Xgu/A/VFQffHrrGaCiVQZz9AvZdEgVtHL/j2 +IAUkfaeZS7oiCoy06SsbpBQQE/RTeuuWKDjFP3Y/DCIDeyr1keIsUSipCbRx +0iQD5YLCOKN8UfA9tUN0mo0M9pstBsuLRGF7oNeC5y0phJxoC3OqFYXpe2yv +9shJwbekuPXLiCjUuCqqr1QQg9HZA6/ICVF4UnWxvjOBGGS6LNnEZ0ShYnFv +hNSWGJZX6K8l/haFlOG5Z1k0xHBVKZr+wqEorEgyNlL5EIFTn7X1MwExeBPy +mEj69gEyI2JZi/cWg8aFtjtV7nsoIljneH6AGFwZ/n1IJ7iHSpajBctDxeC8 ++S8/1pldtDm2aNl7QwxKSajnmR13UXY99p47Xww4RFNfPXP5gwb9PLNfH51D +geC+N2PJ2+jgZ1FFZ6sYaL1oVTsw3EZCjl87xrrE4C6JvPrLk9soyPDiP5JB +MQik3/1X/3QLsUqwuRn+FIMDUXyxbu8mujT34ewPBnFIqdSMklfaQFE2u8Z/ +WcXBV9LA9Dn1Birtl/Kk5RIHg42eu/dH19F2853C00LikEQorFoMX0e5D7yp +YhXFgSn9+O6JljX01YLzG7uzOLRYvzQJu7KKLnf5RenWisPbO/Vx1KS/Eb96 +wSZlvTggqnerlM2/0G9C69WWd+KgZ8E4VRj9C8W8YrO40C4OTz8FZT08WERP +CpukpUfFwXpCgryMdBFtB1FPMRJJwKGT169GkR8IW5Oz+EImAdtSEcSfVxbQ +TU/bTylUEuBpbKvo+mYBnXKqrCdjkoCYZiIRPq0FpK5/KXNbUAIa56s4X3jP +o2xcseqorgSQD50eohuaRXYPuutzjSSAO7FMdqtkFomwb0mbmkuAfcwXFYOA +WdRIq8X10U4C8IN15yyYZ9HM7tLmO18JiPuDWTyxnEGyPQqlRXkSsOkuW2/3 +Zwp9ieg9dmVGAqo+xONEDyfQ9LeBlZs/JIDQblBLUTmBNhWHh54vSYCud5ta +heME4tidKFndkYBL1yltTNvHkVvgbwihkQTOxhuqTffG0P51ytAkeUkwiFrm +8nIfRXSfqB3KFCXhxq/+n2QCo4hfglazG0lC+5OIbs2pEaS1yMxCpyMJTSGD +m122IyjLjb8q104SmkO9fuTZDSMx+ws/HydJgt/vCrvpyCF0oQl62lMlIcm5 +fCpQbQgZcau9+ZkhCZ725vv3jg+hwG86CZIFkkA9Poa7e28QYRaX+V5VSoJ4 +5sNzZ94PIAsjf8uWEUnocO3grBfpR/EqZZ3T4lLw736n945xD2q7c7Hpt4wU +XF8zbDsh2oOOrX+r3paXgq3wH89uEvWglGLaAmqQgjupVxU8HL+gTNIAL1kz +KZj8QKxhJv4ZPWxVZoqLkAJpZRrj+9PdaJJ7mDI1VgqOMPR/VdCN+IN893MS +pcBrWrE3wqIblQqVzJWlS8HSUvUVxi9d6HkSVV1viRRs2z05IdbWiRq0B2z4 +PkmBjfMPrLCvHe0XXTcW75OCpIKfUwu57ejCHoWG/FcpaNofrWuxbkfYMwVp +7SkpYLQ6/1JhoQ21H39I7LslBS45Xvk/yNrQwKcrpRi3NHy/mtQsYNWCVowP +V+y9pIGG6t7wSedm1PciFZj8pUGN0ZfrmmIzek3FkdEWLA33wq4kcjM2o4jm +07KSsdJgqJ5mVvAeQ9T4qwF7WdJQp0RBvCiMISH6wT/Z9dJgSkZ/g4OiCVF7 +OmlrNUkDefxg9zjhHVpqX7nz9700GHMQnNTD3qHaaGolp4/SgLnJRP5dbUQX +V1Ck9HdpWBxuOjM69xZJuw8SuZLIgFZ1lgvudz3iZeEqayKTgeQzKuNRL+sR +4wcnYzZKGSDreSXr4V+Ptk+tFnUfl4H4mkLN7/t16N0Qtaosiww8UPVJUWKt +Q7oakHAoLAPsrJ737zi+Ru6C5VR39WWg06G0a86kBkW12l0VMpIBz9u9p+f5 +alC2K2N3tYkM5JKajDmtVSPscWhqt4UMHNP33OvOqEZsQlp0/xxl4PBNdbPS +cBXqEppjdgiSgXutTz6khVWiybb8wN8hMlAcWrDdYlSJtt30hkLCZeC9+FUu +N+FKhHtSk5cRIwMf/J35WspfogjhOI4PN2UgjvgtpuldgaREeHiFHsoAXc4t +5RmO50itoy+mukgGeLyarj/sL0dWHolTyiUyIBinZ0SfVo6Sni4VW5TJQOCI +zXEqknI0KdIo+F+NDAT/HrUQ3CxDmaKW4r/bZUBxijXp9s4TtCWWdaZ6VQYQ +ba2QnE8JGvsI6kwbMpAgQTf7EZWgFq9l04AtGdg3EFIeoStBmdXavmf2ZKAF +fNPUqx4hKUWi5w2keKBpOZVouFuM3LSv831gxUOOnI2C1v0ipP+LQ0aAHQ9S +qWMTGf5F6HRah3ICJx7UxAx1lXWKEEkvzkaTFw9Vpbn9b/8UooeXR3O7RfFw +Nvy/LBmrQjTsrkkzcB4PT8/tukfZPEAEqi0OeYSHvORjIfnMD1BpebForgoe +lJOSumw+3UcBK/80LmvgwVZ+ZGkc7iOG4NrYMUM8mD4e+pcrXYB0Evl2Zp3w +4OM1mZwrdhc1lvyd2krGwzz9gR1dWi5SVA3Y0Uk58uOq3lpzORfVT/2mKUzD +Q3Ax/9tegVz0+tTEWZ1MPLDcV1sJbMpBlflY2oOjHDzbVKeospONSlITFDQr +8JB4UBCzG5mF+MUPDAoq8aDSMUVWZ5SFijqDXNaq8fDg291733FZ6AGFx+17 +b/DgXzIk69adifJjdOZWMDyU/pGbPcOTidIC6DLy+/FA9MBPkmskHdEwJZcu +DeLB3uWm7EFVOrpZRdR4cRgPFbRxVEop6Sh5eW3+9xge1ulSZ5qV01Gcx8B5 +lXk87NidsP9mehsF2dz58fMPHkYkk0e5edOQnRoOlE7Jwg+7B+JvJf5DxIPH +aD/wykKW01d1i6VkVOK6/E0HJwu4az//ZVYko8XE+mArEVlgOrNAOiObjII6 +DV+GyspCC+9jj4aLSeiWQcSpOg1ZwPvpM/6NTED4746/kbYs8LGbkI9rJqAB +b82Gdl1ZqLGfOq/JmIA4MhgvfTWShYqceN6XT+OP+vnTtG0rWfD0ViV/+u0G +aro8uH/aWxbUN8gBZxmHHH82dDX6ysLbeImPK2JxiCysMF8tQBZUtBdfyPyL +RTr3rp02C5UFtynzKepHsWhonNjT/4YsvNsarSLejEHLTlLfqvJk4U3Oy9e0 +ZtGI53pSvRQmC1zrSdtjTWEo89BNPuW9LPgrzDAQxYQhikyNqoUWWXiot730 +WiUMLb8mLyvslAWh0ctRo22hqIkoPp+x/+j/3qR1938NQXbZMcHbc7JQZFYS +780UjPqEHDZMfsjCeu7zJ7LjQUijHnm/XDzyK1alHvgkCElNHLh5rMhCfPQv +jYALQeifcOSl0T+yQJrurabgHYgK3obKNx2Xg+zDwBMLP/wRvYFlFQetHLiI +WapxNvij+MlzksH0ciDifDPkXYo/8iT/IyDDIgeFt3C9mjL+SMkwiLn4lBy8 +N9pPvxzlh0an/TYS8HIguXl4NlvSF7FTe1bpW8jB3wHqiisl19FT1ciwVUs5 +iDdllqy4dB2dibylmmUjB08+5d9oorqOTFYrB4cd5UBLwMFJ0c8T3Rza2nX2 +lIODgORWV71raK84+mJYrBzsR4ro9+OuoOSx9OPc8XLw5qKb9vyUB2JlLR4g +JMqBuBiXcGmhB5L9r8WNPFUO7BPEgwR5PdA1b6qU9Fw5oL3wfXlNyB2NKWX1 +l5Yf7X87SVXfxBVdDSwp0K6Qg/+SicqcOVzRn4pXrr8rj+oh1PWCZsYFMfMP +7+Bfy0HVkloefZAL0jvGzfUOO1pv93vv62Jn9G6g1KV/UA7U52mTgMUJ6dHW +SQYNy4HdtsD+wJwjGtXs3Gb7Jgenzrl1z712RNsNv5LtJuWAT9LBOdjKEUkV +ybz4uSgHN/QZH5594oAaR1WCUpfkgE07eSMl3AHpMJsi6dUjbU79ycTIAbkl +BfYGbMnBfBvde7dte7SJJd49+UcOfBIk83OK7VHcXp5zw54cmDalKxYa2iP6 +02UStv/k4LvxkEf8Pzv04HrD1uGhHJT9//uU/wHB5W3g + "]]}, + Annotation[#, "Charting`Private`Tag$66583#1"]& ]}, {}, {}}, + AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], + Axes->{True, True}, + AxesLabel->{None, None}, + AxesOrigin->{0, 0}, + DisplayFunction->Identity, + Frame->{{False, False}, {False, False}}, + FrameLabel->{{None, None}, {None, None}}, + FrameTicks->{{Automatic, + Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, + Charting`ScaledFrameTicks[{Identity, Identity}]}}, + GridLines->{None, None}, + GridLinesStyle->Directive[ + GrayLevel[0.5, 0.4]], + ImagePadding->All, + Method->{ + "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> + AbsolutePointSize[6], "ScalingFunctions" -> None, + "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ + (Identity[#]& )[ + Part[#, 1]], + (Identity[#]& )[ + Part[#, 2]]}& ), "CopiedValueFunction" -> ({ + (Identity[#]& )[ + Part[#, 1]], + (Identity[#]& )[ + Part[#, 2]]}& )}}, + PlotRange->{All, All}, + PlotRangeClipping->True, + PlotRangePadding->{{ + Scaled[0.02], + Scaled[0.02]}, { + Scaled[0.05], + Scaled[0.05]}}, + Ticks->{Automatic, Automatic}], TraditionalForm]], "Output", + CellChangeTimes->{{3.757769608419174*^9, 3.7577696543386173`*^9}, + 3.757828721891801*^9, 3.757828766940044*^9, 3.757835437374585*^9, + 3.7578355225401373`*^9, 3.758276589466311*^9}, + CellLabel-> + "Out[128]=",ExpressionUUID->"f43d30ac-6f1e-4c6a-a478-47da276753e9"] +}, Open ]] +}, +WindowSize->{808, 833}, +WindowMargins->{{-1635, Automatic}, {-91, Automatic}}, +FrontEndVersion->"11.3 for Mac OS X x86 (32-bit, 64-bit Kernel) (March 5, \ +2018)", +StyleDefinitions->"Default.nb" +] +(* End of Notebook Content *) + +(* Internal cache information *) +(*CellTagsOutline +CellTagsIndex->{} +*) +(*CellTagsIndex +CellTagsIndex->{} +*) +(*NotebookFileOutline +Notebook[{ +Cell[CellGroupData[{ +Cell[580, 22, 1101, 23, 52, "Input",ExpressionUUID->"b345f780-c762-422b-bb72-4f3dcbf7d3d9"], +Cell[1684, 47, 3343, 76, 244, "Output",ExpressionUUID->"2780a80e-bda8-45c2-b1b0-3eb6caa89a36"] +}, Open ]], +Cell[CellGroupData[{ +Cell[5064, 128, 255, 6, 30, "Input",ExpressionUUID->"8e07609f-09e3-40d7-af74-38b08a5e8f91"], +Cell[5322, 136, 2045, 56, 104, "Output",ExpressionUUID->"368b90c4-a174-42ff-88ff-fa878b289f90"] +}, Open ]], +Cell[CellGroupData[{ +Cell[7404, 197, 389, 10, 30, "Input",ExpressionUUID->"755b5a3a-b723-4917-b599-cbfec71b6ba8"], +Cell[7796, 209, 3439, 78, 244, "Output",ExpressionUUID->"57c09952-dd78-4249-b11e-a32c2dddede6"] +}, Open ]], +Cell[11250, 290, 602, 13, 50, "Input",ExpressionUUID->"31e3dfa2-15a7-4036-b188-62331ca14f94"], +Cell[CellGroupData[{ +Cell[11877, 307, 528, 12, 30, "Input",ExpressionUUID->"89e2d575-eabc-4561-9cef-87861999c7e7"], +Cell[12408, 321, 16734, 292, 244, "Output",ExpressionUUID->"5aa8ebaa-551f-4695-88d2-561a8f47d302"] +}, Open ]], +Cell[29157, 616, 177, 4, 30, "Input",ExpressionUUID->"23a7d6e0-f7d1-43e1-8301-83d26edf4abc"], +Cell[CellGroupData[{ +Cell[29359, 624, 304, 7, 30, "Input",ExpressionUUID->"f784ccf6-07f5-4576-8b62-c9c1e85c04a3"], +Cell[29666, 633, 640, 17, 61, "Output",ExpressionUUID->"a6c24978-6a42-4e9f-a867-80ed321e9863"] +}, Open ]], +Cell[CellGroupData[{ +Cell[30343, 655, 389, 10, 30, "Input",ExpressionUUID->"38630a6f-4f21-4ca0-a2c0-3d40bbce384d"], +Cell[30735, 667, 18707, 325, 244, "Output",ExpressionUUID->"f43d30ac-6f1e-4c6a-a478-47da276753e9"] +}, Open ]] +} +] +*) + diff --git a/arbitrary_act_f.ipynb b/arbitrary_act_f.ipynb new file mode 100644 index 0000000..e5ec8a8 --- /dev/null +++ b/arbitrary_act_f.ipynb @@ -0,0 +1,297 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import tensorflow as tf\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from tensorflow.python.framework import ops" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "a=6.12" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "def HCAL_act(x):\n", + " \n", + " return np.divide(a,np.add(1.,np.exp(np.add(-x,a))))\n", + " \n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.013425036143057525" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "HCAL_act(0)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "np_HCAL_act = np.vectorize(HCAL_act)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(np.arange(-10,10,0.1),np_HCAL_act(np.arange(-10,10,0.1)))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def d_HCAL_act(x):\n", + " num = np.multiply(a,np.exp(np.add(a,-x)))\n", + " den = np.square(np.add(1, np.exp(np.add(a,-x))))\n", + " return num/den" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "np_d_HCAL_act = np.vectorize(d_HCAL_act)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(np.arange(-10,20,0.1),np_d_HCAL_act(np.arange(-10,20,0.1)))" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "np_d_HCAL_act_32 = lambda x: np_d_HCAL_act(x).astype(np.float32)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "def tf_d_HCAL_act(x,name=None):\n", + " with tf.name_scope(name, \"d_HCAL_act\", [x]) as name:\n", + " y = tf.py_func(np_d_HCAL_act_32,\n", + " [x],\n", + " [tf.float32],\n", + " name=name,\n", + " stateful=False)\n", + " return y[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "def py_func(func, inp, Tout, stateful=True, name=None, grad=None):\n", + "\n", + " # Need to generate a unique name to avoid duplicates:\n", + " rnd_name = 'PyFuncGrad' + str(np.random.randint(0, 1E+8))\n", + "\n", + " tf.RegisterGradient(rnd_name)(grad) # see _MySquareGrad for grad example\n", + " g = tf.get_default_graph()\n", + " with g.gradient_override_map({\"PyFunc\": rnd_name}):\n", + " return tf.py_func(func, inp, Tout, stateful=stateful, name=name)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "def HCAL_grad(op, grad):\n", + " x = op.inputs[0]\n", + "\n", + " n_gr = tf_d_HCAL_act(x)\n", + " return grad * n_gr " + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "np_HCAL_act_32 = lambda x: np_HCAL_act(x).astype(np.float32)\n", + "\n", + "def tf_HCAL_act(x, name=None):\n", + "\n", + " with tf.name_scope(name, \"HCAL_act\", [x]) as name:\n", + " y = py_func(np_HCAL_act_32,\n", + " [x],\n", + " [tf.float32],\n", + " name=name,\n", + " grad=HCAL_grad) # <-- here's the call to the gradient\n", + " return y[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "def tf_HCAL_act(x):\n", + " a=6.12\n", + " arg=tf.cast(-x,tf.float32)\n", + " return tf.divide(a,tf.add(1.,tf.exp(tf.add(a,arg))))" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "WARNING:tensorflow:From /home/hep/davide/miniconda3/envs/deepnet/lib/python3.6/site-packages/tensorflow/python/util/tf_should_use.py:107: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.\n", + "Instructions for updating:\n", + "Use `tf.global_variables_initializer` instead.\n", + "[-10. -9. -8. -7. -6. -5. -4. -3. -2. -1. 0. 1. 2. 3.\n", + " 4. 5. 6. 7. 8. 9.] [6.1083620e-07 1.6604231e-06 4.5134962e-06 1.2268938e-05 3.3350316e-05\n", + " 9.0654714e-05 2.4641879e-04 6.6978938e-04 1.8203339e-03 4.9456530e-03\n", + " 1.3425037e-02 3.6355998e-02 9.7827286e-02 2.5881341e-01 6.5586865e-01\n", + " 1.5055892e+00 2.8766201e+00 4.3257518e+00 5.3097801e+00 5.7947154e+00] [6.10836139e-07 1.66042264e-06 4.51349297e-06 1.22689135e-05\n", + " 3.33501339e-05 9.06533678e-05 2.46408861e-04 6.69716042e-04\n", + " 1.81979244e-03 4.94165625e-03 1.33955870e-02 3.61400247e-02\n", + " 9.62635279e-02 2.47868240e-01 5.85580468e-01 1.13519740e+00\n", + " 1.52450514e+00 1.26821423e+00 7.02955782e-01 3.07995707e-01]\n" + ] + } + ], + "source": [ + "with tf.Session() as sess:\n", + "\n", + " x = tf.constant(np.arange(-10,10,1.))\n", + " y = tf_HCAL_act(x)\n", + " tf.initialize_all_variables().run()\n", + "\n", + " print(x.eval(), y.eval(), tf.gradients(y, [x])[0].eval())\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}