Skip to content

Commit 27cf4cb

Browse files
committed
Gradient Descent added
1 parent d60a86d commit 27cf4cb

10 files changed

+1543
-559
lines changed

Diff for: ChangeOfVariables.ipynb

+17-11
Original file line numberDiff line numberDiff line change
@@ -152,17 +152,6 @@
152152
"plt.show()"
153153
]
154154
},
155-
{
156-
"cell_type": "code",
157-
"execution_count": null,
158-
"metadata": {
159-
"collapsed": true
160-
},
161-
"outputs": [],
162-
"source": [
163-
"np.arctan2"
164-
]
165-
},
166155
{
167156
"cell_type": "markdown",
168157
"metadata": {},
@@ -1049,6 +1038,23 @@
10491038
"nbconvert_exporter": "python",
10501039
"pygments_lexer": "ipython3",
10511040
"version": "3.6.1"
1041+
},
1042+
"latex_envs": {
1043+
"LaTeX_envs_menu_present": true,
1044+
"autocomplete": true,
1045+
"bibliofile": "biblio.bib",
1046+
"cite_by": "apalike",
1047+
"current_citInitial": 1,
1048+
"eqLabelWithNumbers": true,
1049+
"eqNumInitial": 1,
1050+
"hotkeys": {
1051+
"equation": "Ctrl-E",
1052+
"itemize": "Ctrl-I"
1053+
},
1054+
"labels_anchors": false,
1055+
"latex_user_defs": false,
1056+
"report_style_numbering": false,
1057+
"user_envs_cfg": false
10521058
}
10531059
},
10541060
"nbformat": 4,

Diff for: GradientDescent.ipynb

+1,025
Large diffs are not rendered by default.

Diff for: MultivariateGaussian.ipynb

+50-67
Large diffs are not rendered by default.

Diff for: Regression.ipynb

+126-375
Large diffs are not rendered by default.

Diff for: VPythonAnimations.ipynb

+29-76
Original file line numberDiff line numberDiff line change
@@ -101,44 +101,6 @@
101101
},
102102
"metadata": {},
103103
"output_type": "display_data"
104-
},
105-
{
106-
"data": {
107-
"text/html": [
108-
"<div id=\"glowscript\" class=\"glowscript\"></div>"
109-
],
110-
"text/plain": [
111-
"<IPython.core.display.HTML object>"
112-
]
113-
},
114-
"metadata": {},
115-
"output_type": "display_data"
116-
},
117-
{
118-
"data": {
119-
"application/javascript": [
120-
"window.__context = { glowscript_container: $(\"#glowscript\").removeAttr(\"id\")}"
121-
],
122-
"text/plain": [
123-
"<IPython.core.display.Javascript object>"
124-
]
125-
},
126-
"metadata": {},
127-
"output_type": "display_data"
128-
},
129-
{
130-
"ename": "KeyboardInterrupt",
131-
"evalue": "",
132-
"output_type": "error",
133-
"traceback": [
134-
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
135-
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
136-
"\u001b[0;32m<ipython-input-1-7382916bb80f>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 114\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 115\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 116\u001b[0;31m \u001b[0mvp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrate\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mRATE\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 117\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 118\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mN\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
137-
"\u001b[0;32m/Users/cemgil/anaconda/envs/py36/lib/python3.6/site-packages/vpython/vpython.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, N)\u001b[0m\n\u001b[1;32m 201\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 202\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrval\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"rate value must be greater than or equal to 1\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 203\u001b[0;31m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_RateKeeper2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__call__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrval\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m## calls __call__ in rate_control.py\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 204\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 205\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mversion\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;34m'3'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
138-
"\u001b[0;32m/Users/cemgil/anaconda/envs/py36/lib/python3.6/site-packages/vpython/rate_control.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, maxRate)\u001b[0m\n\u001b[1;32m 205\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlastSleep\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalls\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0muserTime\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcallTime\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdelay\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m\\\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 206\u001b[0m \u001b[0mrenders\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrenderTime\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0msleeps\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minteractionPeriod\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0m_clock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 207\u001b[0;31m \u001b[0m_sleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 208\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlastSleep\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_clock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 209\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalls\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
139-
"\u001b[0;32m/Users/cemgil/anaconda/envs/py36/lib/python3.6/site-packages/vpython/rate_control.py\u001b[0m in \u001b[0;36m_sleep\u001b[0;34m(dt)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[0mdtsleep\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnticks\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0m_tick\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0mt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_clock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 49\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdtsleep\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 50\u001b[0m \u001b[0mt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_clock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m-=\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
140-
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
141-
]
142104
}
143105
],
144106
"source": [
@@ -399,44 +361,6 @@
399361
},
400362
"metadata": {},
401363
"output_type": "display_data"
402-
},
403-
{
404-
"data": {
405-
"text/html": [
406-
"<div id=\"glowscript\" class=\"glowscript\"></div>"
407-
],
408-
"text/plain": [
409-
"<IPython.core.display.HTML object>"
410-
]
411-
},
412-
"metadata": {},
413-
"output_type": "display_data"
414-
},
415-
{
416-
"data": {
417-
"application/javascript": [
418-
"window.__context = { glowscript_container: $(\"#glowscript\").removeAttr(\"id\")}"
419-
],
420-
"text/plain": [
421-
"<IPython.core.display.Javascript object>"
422-
]
423-
},
424-
"metadata": {},
425-
"output_type": "display_data"
426-
},
427-
{
428-
"ename": "KeyboardInterrupt",
429-
"evalue": "",
430-
"output_type": "error",
431-
"traceback": [
432-
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
433-
"\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)",
434-
"\u001b[0;32m<ipython-input-1-3eb8fdbd5d82>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 120\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 121\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 122\u001b[0;31m \u001b[0mvp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrate\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mRATE\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 123\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[0mB\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpQ\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpos\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mB\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpQ\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpos\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mB\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mpQ\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvel\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mdt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
435-
"\u001b[0;32m/Users/cemgil/anaconda/envs/py36/lib/python3.6/site-packages/vpython/vpython.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, N)\u001b[0m\n\u001b[1;32m 201\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrval\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 202\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrval\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"rate value must be greater than or equal to 1\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 203\u001b[0;31m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_RateKeeper2\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__call__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrval\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m## calls __call__ in rate_control.py\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 204\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 205\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0msys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mversion\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;34m'3'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
436-
"\u001b[0;32m/Users/cemgil/anaconda/envs/py36/lib/python3.6/site-packages/vpython/rate_control.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, maxRate)\u001b[0m\n\u001b[1;32m 205\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlastSleep\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalls\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0muserTime\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcallTime\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdelay\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m+\u001b[0m\u001b[0;31m \u001b[0m\u001b[0;31m\\\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 206\u001b[0m \u001b[0mrenders\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrenderTime\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0msleeps\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minteractionPeriod\u001b[0m \u001b[0;34m-\u001b[0m \u001b[0m_clock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 207\u001b[0;31m \u001b[0m_sleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdt\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 208\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlastSleep\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_clock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 209\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalls\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
437-
"\u001b[0;32m/Users/cemgil/anaconda/envs/py36/lib/python3.6/site-packages/vpython/rate_control.py\u001b[0m in \u001b[0;36m_sleep\u001b[0;34m(dt)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[0mdtsleep\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnticks\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0m_tick\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0mt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_clock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 49\u001b[0;31m \u001b[0mtime\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msleep\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdtsleep\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 50\u001b[0m \u001b[0mt\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_clock\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0mt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[0mdt\u001b[0m \u001b[0;34m-=\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
438-
"\u001b[0;31mKeyboardInterrupt\u001b[0m: "
439-
]
440364
}
441365
],
442366
"source": [
@@ -650,6 +574,35 @@
650574
"nbconvert_exporter": "python",
651575
"pygments_lexer": "ipython3",
652576
"version": "3.6.1"
577+
},
578+
"varInspector": {
579+
"cols": {
580+
"lenName": 16,
581+
"lenType": 16,
582+
"lenVar": 40
583+
},
584+
"kernels_config": {
585+
"python": {
586+
"delete_cmd_postfix": "",
587+
"delete_cmd_prefix": "del ",
588+
"library": "var_list.py",
589+
"varRefreshCmd": "print(var_dic_list())"
590+
},
591+
"r": {
592+
"delete_cmd_postfix": ") ",
593+
"delete_cmd_prefix": "rm(",
594+
"library": "var_list.r",
595+
"varRefreshCmd": "cat(var_dic_list()) "
596+
}
597+
},
598+
"types_to_exclude": [
599+
"module",
600+
"function",
601+
"builtin_function_or_method",
602+
"instance",
603+
"_Feature"
604+
],
605+
"window_display": false
653606
}
654607
},
655608
"nbformat": 4,

Diff for: ellipse_line.py

Whitespace-only changes.

Diff for: notes_utilities.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def pnorm_ball_points(A=np.eye(2), mu=np.array([0,0]),p=2, N=128):
5353

5454
def pnorm_ball_line(A=np.eye(2), mu=np.array([0,0]),p=2, N=128,color='r',linewidth=3):
5555
''' Creates line objects. Show them with ax.add_line(ln) '''
56-
dx,dy = pnorm_ball_points(A)
56+
dx,dy = pnorm_ball_points(A, mu)
5757
ln = plt.Line2D(dx,dy, color=color, linewidth=linewidth)
5858
return ln
5959

0 commit comments

Comments
 (0)