Skip to content

Instantly share code, notes, and snippets.

@kiwiheretic
Last active February 23, 2019 07:23
Show Gist options
  • Save kiwiheretic/808ad06d565f2c534c035afd80800c96 to your computer and use it in GitHub Desktop.
Save kiwiheretic/808ad06d565f2c534c035afd80800c96 to your computer and use it in GitHub Desktop.
An action jourmey #1
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import scipy as sp\n",
"from scipy.integrate import trapz"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create our fake trajectory. This will end up looking like a triangle."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[(0, 0), (1, 1), (2, 0)]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"t = np.arange(0,3,1)\n",
"x = [0, 1, 0]\n",
"[(a,b) for a,b in (zip(t,x))]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot this trajectory"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fbc4e39f8d0>]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(facecolor='white')\n",
"ax = fig.add_subplot(111)\n",
"plt.title(\"Fake Trajectory\")\n",
"plt.xlabel(\"t (seconds)\")\n",
"plt.ylabel(\"x (metres)\")\n",
"ax.fill(t,x,'0.85')\n",
"ax.plot(x, marker='o')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now compute the Langrangian $ \\mathcal{L} = T - V $ over this trajectory. Given $ T = \\frac{1}{2} m \\dot{x}^2 $ and $ V(x) = mgx $. For the purpose of this exercise will assume $ 0 < t \\leq 1 \\Rightarrow \\dot{x} = 1 $ and $ 1 < t \\leq 2 \\Rightarrow \\dot{x} = -1 $"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"def L(t):\n",
" g = 9.8\n",
" m = 1\n",
" if 0 <= t < 1:\n",
" x = t\n",
" v = 1\n",
" elif 1 <= t <= 2:\n",
" x = 1-(t-1)\n",
" v = -1\n",
" return 0.5*m*v**2 - m*g*x\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"L(0)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"L(2)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-9.3"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"L(1)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fbc4e2caac8>]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(facecolor='white')\n",
"ax = fig.add_subplot(111)\n",
"plt.title(\"Lagrangian over time\")\n",
"plt.xlabel(\"t (seconds)\")\n",
"plt.ylabel(\"$ \\mathcal{L} $\")\n",
"y = [L(t1) for t1 in t]\n",
"#plt.arrow(1, 0.9, 0, -0.2, width=0.01, head_width=0.06)\n",
"ax.fill(t,y,'0.85')\n",
"ax.plot(y, marker='o')\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The actual area under this curve, the supposed action is ..."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-8.8000000000000007"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trapz(y,t, dx=0.1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Conclusion: If the centre point is the variable point, as the boundary value points are fixed, then the centre point really has no minimum, it can just go to $ - \\infty $"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's try something different by adding a couple more points and fixing the centre point."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[(0, 0), (1, 0.2), (2, 1), (3, 0.2), (4, 0)]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"t = np.arange(0,5,1)\n",
"x = [0, 0.2, 1, 0.2, 0]\n",
"[(a,b) for a,b in (zip(t,x))]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot this trajectory. We are going to vary two of these points as shown below."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fbc4e267160>]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(facecolor='white')\n",
"ax = fig.add_subplot(111)\n",
"plt.title(\"Fake Trajectory\")\n",
"plt.xlabel(\"t (seconds)\")\n",
"plt.ylabel(\"x (metres)\")\n",
"plt.arrow(1, 0.35, 0, 0.2, width=0.01, head_width=0.06)\n",
"plt.arrow(3, 0.35, 0, 0.2, width=0.01, head_width=0.06)\n",
"ax.fill(t,x,'0.85')\n",
"ax.plot(x, marker='o')\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"# We make a slight modification to the Lagrangian function to compute the derivate at each point\n",
"def L(tarr,xarr, t):\n",
" g = 9.8\n",
" m = 1\n",
" if t > 0:\n",
" v = (xarr[t]-xarr[t-1]) # no divisor since base is unity\n",
" else:\n",
" v = 0\n",
" x = xarr[t]\n",
" return 0.5*m*v**2 - m*g*x\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"L(t,x,0)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fbc4e187978>]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(facecolor='white')\n",
"ax = fig.add_subplot(111)\n",
"plt.title(\"Lagrangian over time\")\n",
"plt.xlabel(\"t (seconds)\")\n",
"plt.ylabel(\"$ \\mathcal{L} $\")\n",
"y = [L(t,x,t1) for t1 in t]\n",
"plt.arrow(1, -3, 0, -2, width=0.01, head_width=0.18)\n",
"plt.arrow(3, -3, 0, -2, width=0.01, head_width=0.18)\n",
"ax.fill(t,y,'0.85')\n",
"ax.plot(y, marker='o')\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-13.050000000000001"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"trapz(y,t,dx=0.1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This does not look like it's going to give rise to any stationary points either as clearly the area under the curve is just going to grow indefinitely as we move those two additional points downwards."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.0 -8.8\n",
"0.1 -10.9425\n",
"0.2 -13.05\n",
"0.3 -15.1225\n",
"0.4 -17.16\n",
"0.5 -19.1625\n",
"0.6 -21.13\n",
"0.7 -23.0625\n",
"0.8 -24.96\n",
"0.9 -26.8225\n",
"1.0 -28.65\n"
]
},
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x7fbc4e145c50>]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"tpzarr = []\n",
"lsp = np.linspace(0,1,11)\n",
"for t1 in lsp:\n",
" x = [0, t1, 1, t1, 0]\n",
" y = [L(t,x,t1) for t1 in t]\n",
" tpz = trapz(y,t,dx=0.1)\n",
" tpzarr.append(tpz)\n",
" print (t1, tpz)\n",
"\n",
"fig = plt.figure(facecolor='white')\n",
"ax = fig.add_subplot(111)\n",
"ax.plot(lsp, tpzarr, marker='o')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Conclusion: line is linear and has no points of inflection. As we vary a couple of points up and down T-V does not change significantly and the change appears to result in only a linear change anyway and I'm at a loss to think how this can even give rise to a stationary point."
]
},
{
"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.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment