Created
November 25, 2024 17:40
-
-
Save mariogeiger/cfeac4cd97a47cef5bd78b5d50dcb4b1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"$\\displaystyle \\frac{\\frac{d^{2}}{d s*^{2}} x{\\left(s* \\right)}}{\\left(1 - \\left(\\frac{d}{d s*} x{\\left(s* \\right)}\\right)^{2}\\right)^{\\frac{3}{2}}}$" | |
], | |
"text/plain": [ | |
"Derivative(x(s*), (s*, 2))/(1 - Derivative(x(s*), s*)**2)**(3/2)" | |
] | |
}, | |
"execution_count": 1, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"import sympy\n", | |
"\n", | |
"\n", | |
"def lorentz_boost(\n", | |
" v: sympy.Symbol, x: sympy.Symbol, t: sympy.Symbol\n", | |
") -> tuple[sympy.Symbol, sympy.Symbol]:\n", | |
" gamma = 1 / sympy.sqrt(1 - v**2)\n", | |
" x_prime = gamma * (x - v * t)\n", | |
" t_prime = gamma * (t - v * x)\n", | |
" return x_prime, t_prime\n", | |
"\n", | |
"\n", | |
"def velocity(x: sympy.Symbol, t: sympy.Symbol, s: sympy.Symbol) -> sympy.Symbol:\n", | |
" return sympy.diff(x, s) / sympy.diff(t, s)\n", | |
"\n", | |
"\n", | |
"def acceleration(x: sympy.Symbol, t: sympy.Symbol, s: sympy.Symbol) -> sympy.Symbol:\n", | |
" return sympy.simplify(sympy.diff(velocity(x, t, s), s) / sympy.diff(t, s))\n", | |
"\n", | |
"\n", | |
"s = sympy.Symbol(\"s\")\n", | |
"x = sympy.Function(\"x\")(s)\n", | |
"t = s\n", | |
"s_star = sympy.Symbol(\"s*\")\n", | |
"\n", | |
"v = velocity(x, t, s)\n", | |
"v_s = v.subs(s, s_star)\n", | |
"xp, tp = lorentz_boost(v_s, x, t)\n", | |
"acc = acceleration(xp, tp, s)\n", | |
"acc_at_rest = acc.subs(s, s_star).simplify()\n", | |
"\n", | |
"acc_at_rest" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"$\\displaystyle \\frac{\\sqrt{a^{2} s^{2} + 1} - 1}{a}$" | |
], | |
"text/plain": [ | |
"(sqrt(a**2*s**2 + 1) - 1)/a" | |
] | |
}, | |
"execution_count": 2, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"a = sympy.Symbol(\"a\")\n", | |
"c1, c2 = sympy.symbols(\"c1 c2\")\n", | |
"xx = c2 + 1 / a * sympy.sqrt(a**2 * s**2 + 2 * a * c1 * s + c1**2 + 1)\n", | |
"\n", | |
"xx = xx.subs(c2, -sympy.sqrt(c1**2 + 1) / a)\n", | |
"xx = xx.subs(c1, 0).simplify()\n", | |
"xx" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"[<matplotlib.lines.Line2D at 0x10e63bb60>]" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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iYlReHi4brrpJv3www9mxzFFTk6OJCk4OLjcdXhvXVSRfSVxzHI4HFq0aJHy8/OVkJBw2XXMek+5bRk5ffq0HA6HQkNDL1keGhpa7vfPWVlZlVrfXVRlX7Vv315z5szRJ598ovfee09Op1N9+/bVsWPHaiOySynvfWW323XhwgWTUtVN4eHhmjFjhj766CN99NFHioqK0g033KDNmzebHa1WOZ1OTZo0Sdddd526dOlS7nqeesz6bxXdV558zEpPT1eDBg1ks9n0yCOPaNmyZerUqdNl1zXrPeUSs/ai7klISLikWfft21cdO3bUO++8oxdeeMHEZHBl7du3V/v27ct+7tu3rw4cOKDXXntNCxYsMDFZ7ZowYYK2b9+u77//3uwodV5F95UnH7Pat2+vtLQ05eTk6MMPP9TIkSO1Zs2acguJGdz2zEiTJk3k5eWl7OzsS5ZnZ2crLCzsstuEhYVVan13UZV99VM+Pj7q0aOH9u/fXxMRXVp576vAwEDVq1fPpFSuIy4uzqPeVxMnTtSKFSv07bffKjIy8orreuox698qs69+ypOOWb6+voqOjlZsbKwSExPVvXt3vf7665dd16z3lNuWEV9fX8XGxmr16tVly5xOp1avXl3ud2UJCQmXrC9Jq1atKnd9d1GVffVTDodD6enpCg8Pr6mYLstT31fVJS0tzSPeV4ZhaOLEiVq2bJm++eYbtWrV6qrbeOp7qyr76qc8+ZjldDpVVFR02d+Z9p6q0ctjTbZo0SLDZrMZSUlJxs6dO42HHnrIaNiwoZGVlWUYhmEMHz7cmDJlStn6P/zwg+Ht7W38/e9/N3bt2mU899xzho+Pj5Genm7WS6g1ld1Xzz//vPHVV18ZBw4cMFJTU4377rvP8PPzM3bs2GHWS6g1ubm5xpYtW4wtW7YYkoxXX33V2LJli3HkyBHDMAxjypQpxvDhw8vWP3jwoOHv72889dRTxq5du4zp06cbXl5expdffmnWS6g1ld1Xr732mrF8+XJj3759Rnp6uvH4448bVqvV+Prrr816CbXmt7/9rREUFGR89913RmZmZtmjoKCgbB2OWRdVZV956jFrypQpxpo1a4xDhw4Z27ZtM6ZMmWJYLBZj5cqVhmHUnfeUW5cRwzCMN99802jevLnh6+trxMXFGevXry/7Xb9+/YyRI0desv6SJUuMdu3aGb6+vkbnzp2Nzz77rJYTm6cy+2rSpEll64aGhhq33nqrsXnzZhNS175/337608e/98/IkSONfv36/WybmJgYw9fX12jdurUxd+7cWs9thsruq5deeslo06aN4efnZwQHBxs33HCD8c0335gTvpZdbj9JuuS9wjHroqrsK089Zo0ZM8Zo0aKF4evrazRt2tT41a9+VVZEDKPuvKcshmEYNXvuBQAAoHxue80IAABwDZQRAABgKsoIAAAwFWUEAACYijICAABMRRkBAACmoowAAABTUUYAAICpKCMAAMBUlBEAAGAqyggAADAVZQQAAJjq/wGSnciROD+fJgAAAABJRU5ErkJggg==", | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"import numpy as np\n", | |
"\n", | |
"a = 1\n", | |
"\n", | |
"s = np.linspace(0.0, 3.0, 100)\n", | |
"x = (np.sqrt(a**2 * s**2 + 1) - 1) / a\n", | |
"plt.plot(s, x)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": ".venv", | |
"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.12.4" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment