{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "e8039998-0e39-455e-b1b0-c84c7ae73e7b", "metadata": {}, "source": [ "# Example-32: Orbit (quadruple shift)" ] }, { "cell_type": "code", "execution_count": 1, "id": "e263f965-52b4-48a1-acfb-b853e018c65d", "metadata": {}, "outputs": [], "source": [ "# In this example effects of transverse quadrupole shifts on closed orbit are illustrated\n", "# 1st order derivatives of closed orbit are computed\n", "# Surrogate model from derivatives is compared with direct tracking" ] }, { "cell_type": "code", "execution_count": 2, "id": "89b97455-ca69-4b82-93bc-2747ecc44676", "metadata": {}, "outputs": [], "source": [ "# Import\n", "\n", "from pprint import pprint\n", "\n", "import torch\n", "\n", "from pathlib import Path\n", "\n", "import matplotlib\n", "from matplotlib import pyplot as plt\n", "from matplotlib.patches import Rectangle\n", "matplotlib.rcParams['text.usetex'] = True\n", "\n", "from twiss import twiss\n", "\n", "from model.library.line import Line\n", "\n", "from model.command.util import chop\n", "from model.command.util import evaluate\n", "from model.command.util import series\n", "\n", "from model.command.external import load_lattice\n", "\n", "from model.command.build import build\n", "\n", "from model.command.wrapper import group\n", "\n", "from model.command.orbit import orbit\n", "from model.command.orbit import parametric_orbit" ] }, { "cell_type": "code", "execution_count": 3, "id": "c29b2422-e482-4713-96a6-979f0dc2026b", "metadata": {}, "outputs": [], "source": [ "# Build and setup lattice\n", "\n", "path = Path('ic.lte')\n", "data = load_lattice(path)\n", "\n", "ring:Line = build('RING', 'ELEGANT', data)\n", "ring.propagate = True\n", "ring.flatten()\n", "ring.merge()\n", "ring.split((None, ['BPM'], None, None))\n", "ring.roll(1)\n", "ring.splice()" ] }, { "cell_type": "code", "execution_count": 4, "id": "d17e7e01-82c7-4713-86bf-0108af42d4de", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([0., 0., 0., 0.], dtype=torch.float64)\n" ] } ], "source": [ "# Compute closed orbit\n", "\n", "fp = 1.0E-3*torch.randn(4, dtype=torch.float64)\n", "fp, *_ = orbit(ring, fp, [], alignment=True, limit=8, epsilon=1.0E-12)\n", "\n", "# Chop small values\n", "\n", "fp = [fp]\n", "chop(fp)\n", "fp, *_ = fp\n", "\n", "print(fp)" ] }, { "cell_type": "code", "execution_count": 5, "id": "614c23f5-e13e-44ca-8dd8-fe7aaad7fa3d", "metadata": {}, "outputs": [], "source": [ "# Compute parametric closed orbit\n", "\n", "# Parametric orbit is computed separately for each plane\n", "# Passing both goups together will result in computation of cross derivatives, i.e. d^2(qx, px, qy, py)/d(dx)d(dy)\n", "# Also, since only the first order derivatives are computed, there is no interaction and they can be computed separatly for each element (selected name)\n", "\n", "# Note, computation speed is moderate for 1st order derivatives\n", "# Higher order derivatives computation time grows exponentially, so as grows memory requirements with torch.func.jacrev\n", "# In memory limmited case, torch.func.jacfwd can be used, which requires less memory, but also much slower than torch.func.jacrev\n", "\n", "n_quad = ring.describe['Quadrupole']\n", "\n", "dx = torch.tensor(n_quad*[0.0], dtype=torch.float64)\n", "dy = torch.tensor(n_quad*[0.0], dtype=torch.float64)\n", "\n", "pox, *_ = parametric_orbit(ring,\n", " fp,\n", " [dx],\n", " (1, 'dx', ['Quadrupole'], None, None),\n", " alignment=True,\n", " advance=True, \n", " full=False, \n", " jacobian=torch.func.jacrev)\n", "\n", "poy, *_ = parametric_orbit(ring,\n", " fp,\n", " [dy],\n", " (1, 'dy', ['Quadrupole'], None, None),\n", " alignment=True,\n", " advance=True, \n", " full=False, \n", " jacobian=torch.func.jacrev)\n", "\n", "chop(pox)\n", "chop(poy)" ] }, { "cell_type": "code", "execution_count": 6, "id": "02f70096-e6e6-4ffe-b836-5d143eda9410", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[tensor([0., 0., 0., 0.], dtype=torch.float64),\n", " tensor([[ 1.8121],\n", " [-2.6451],\n", " [ 0.0000],\n", " [ 0.0000]], dtype=torch.float64)]]\n", "\n", "[[tensor([0., 0., 0., 0.], dtype=torch.float64),\n", " tensor([[ 0.0000],\n", " [ 0.0000],\n", " [ -5.5153],\n", " [-10.0840]], dtype=torch.float64)]]\n", "\n", "[[[tensor([0., 0., 0., 0.], dtype=torch.float64),\n", " tensor([[ 0.0000],\n", " [ 0.0000],\n", " [ -5.5153],\n", " [-10.0840]], dtype=torch.float64)],\n", " [tensor([[ 1.8121],\n", " [-2.6451],\n", " [ 0.0000],\n", " [ 0.0000]], dtype=torch.float64),\n", " tensor([[[ 0.0000]],\n", "\n", " [[ 0.0000]],\n", "\n", " [[-378.9334]],\n", "\n", " [[-585.2541]]], dtype=torch.float64)]]]\n", "\n" ] } ], "source": [ "# Compute only for selected quadrupole (the first one)\n", "\n", "name, *_ = [name for name, kind, *_ in ring.layout() if kind == 'Quadrupole']\n", "\n", "# Adjust deviation variables \n", "\n", "dx = torch.tensor(1*[0.0], dtype=torch.float64)\n", "dy = torch.tensor(1*[0.0], dtype=torch.float64)\n", "\n", "# Compute d(qx,px,qy,py) / d(dx)\n", "\n", "data, *_ = parametric_orbit(ring, fp, [dx], (1, 'dx', None, [name], None), alignment=True, advance=False)\n", "chop(data)\n", "pprint(data)\n", "print()\n", "\n", "# Compute d(qx,px,qy,py) / d(dy)\n", "\n", "data, *_ = parametric_orbit(ring, fp, [dy], (1, 'dy', None, [name], None), alignment=True, advance=False)\n", "chop(data)\n", "pprint(data)\n", "print()\n", "\n", "# With two groups the following in computed\n", "\n", "# d (qx,px,qy,py) / d(dx)\n", "# d (qx,px,qy,py) / d(dy)\n", "# d^2 (qx,px,qy,py) / d(dx)d(dy)\n", "\n", "data, *_ = parametric_orbit(ring, fp, [dx, dy], (1, 'dx', None, [name], None), (1, 'dy', None, [name], None), alignment=True, advance=False)\n", "chop(data)\n", "pprint(data)\n", "print()" ] }, { "cell_type": "code", "execution_count": 7, "id": "40dee98f-590e-4007-97bb-1139bc5339d9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[tensor([0., 0., 0., 0.], dtype=torch.float64),\n", " tensor([[ 1.8121, -0.7183, 5.5918, -2.6908, -1.4942, 0.3195, -0.8425,\n", " 2.7908, 1.4097, -4.9412, 0.5832, -2.2199, 4.1151, 4.3880,\n", " -2.5482, 0.2864, -3.0901, -1.1294, 4.8129, -1.6948, -0.6838,\n", " 1.0844, -4.6974, 6.1343, -0.8751, 1.0602, -2.4840, -3.2927],\n", " [ -2.6451, 1.4732, -10.9761, 6.8781, 0.4980, 0.3000, 2.3551,\n", " -7.0806, -0.3743, 7.6515, -0.8327, 4.4808, -8.0043, -8.0279,\n", " 4.5093, -0.8070, 7.4910, -0.1542, -7.2558, 2.4290, 0.3869,\n", " 0.2745, 7.0520, -11.1285, 1.5267, -2.7711, 5.8554, 6.9226],\n", " [ 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000],\n", " [ 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000]],\n", " dtype=torch.float64)]]\n", "\n", "[[tensor([0., 0., 0., 0.], dtype=torch.float64),\n", " tensor([[ 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000],\n", " [ 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000,\n", " 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000],\n", " [ -5.5153, -0.8035, 1.3808, -2.2944, -3.9345, 1.9563, 0.4778,\n", " 0.3985, 2.8365, 2.7562, -0.4292, 0.4229, -0.7416, -3.5727,\n", " 6.3601, 1.1415, -3.0089, 1.2609, 4.4112, -2.5337, -1.5453,\n", " 1.5144, -2.1693, -3.9671, 0.9664, 2.2998, -0.8209, 3.0710],\n", " [-10.0840, -1.6969, 3.8276, -2.9874, -7.1554, 3.8655, 1.7814,\n", " -1.0479, 4.2450, 5.7689, -1.1597, -1.7639, 0.1496, -5.6754,\n", " 10.4517, 2.0721, -6.0926, 1.0031, 7.2082, -4.4147, -3.3390,\n", " 4.0558, -2.7299, -7.1642, 1.9402, 5.9765, -2.6801, 4.2593]],\n", " dtype=torch.float64)]]\n", "\n" ] } ], "source": [ "# Compare with results for all quadrupoles\n", "\n", "local, *_ = pox\n", "pprint(local)\n", "print()\n", "\n", "local, *_ = poy\n", "pprint(local)\n", "print()" ] }, { "cell_type": "code", "execution_count": 8, "id": "586362ca-e533-4f9f-9d61-285a9ec99b8d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([ 1.0330e-03, -2.0600e-03, -8.5705e-05, -5.3725e-04],\n", " dtype=torch.float64)\n", "tensor([ 1.0330e-03, -2.0600e-03, -8.5705e-05, -5.3725e-04],\n", " dtype=torch.float64)\n", "True\n", "\n", "tensor([ 0.0010, -0.0020, 0.0000, 0.0000], dtype=torch.float64)\n", "tensor([ 0.0000e+00, 0.0000e+00, -8.9063e-05, -5.4190e-04],\n", " dtype=torch.float64)\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB1e0lEQVR4nO3de1xUdfoH8M9wz0QupmF5wVFLq3U3xWrN0k1pa7un2G27q3S/bclazYgzlmH3LAu6WtvFsNruu4qleemiUNlaljpCmpolDKAICJzfH5/fgCgoIMM5M/N5v1685Mwchy9zmJlzvs/3eR6bYRgGRERERERERERERERELC7M7AGIiIiIiIiIiIiIiIi0hIIaIiIiIiIiIiIiIiISEBTUEBERERERERERERGRgKCghoiIiIiIiIiIiIiIBAQFNUREREREREREREREJCAoqCEiIiIiIiIiIiIiIgFBQQ0REREREREREREREQkICmqIiIiIiIiIiIiIiEhAiDB7AFZTV1eHzZs3IzY2FjabzezhiIiIiIiIiIiIiIgEPcMwUF5ejiOOOAJhYc3nYyiosZfNmzejV69eZg9DRERERERERERERCTkbNy4ET179mz2fgU19hIbGwuAT1yXLl1MHo2IiIiIiIh0pBkzZiAsLAwZGRkH3DcrKwt1dXWYMmVKB4xMREREJLiVlZWhV69e9XP0zVFQYy++klNdunRRUENERERERCTEdOrUCU6nEzExMcjIcGDRImDpUqC0FIiLA0aMAEaNArKy3Lj//vvhcrl07SgSQjIzMxEeHg6Hw3HAfd1uN2pra5GZmen/gYmIBJEDtYVQUENERERERETk//kmKp1OJ156CQAcqKkBwsKAujrg1VcBwA2PxwmXy9WiiU0RCR7h4eFwOp0AcMDAp9PJ9wkREWlfCmqIiIiIiIiI7GH0aAdmzwY8Hid69gT6928IXKxb58amTU4kJbkwerQCGiKhRoFPETlY1dVoNiAaFWX26AKDghrSLL3AREREREQk1FRXA1OnAjExDiQnA4WFTkREAMnJDhQWMqCRnOwC4MDUqcCHH+r6SCTUKPApIq3lK103ejTPHzwe7BMQtduBadOAhQtVuu5AFNSQRvQCExERERGRULZoEa+DkpIY2AAY2Cgqmg7DqEZysgvJyQ5UVgIbNgCLFwOpqeaOWUQ6jgKf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Zj4XdrsdKSkp9e8POTk5jRYYhSqzP08B868JzWb2dY80zezjYpVzTbPn9ULtnK41zDw2oX7+p/JTQWjGjBmYO3cuAE4EDhkyBPn5+Qf1YZmRkbHfZnYLFixAeno6MjIyMGTIEOTm5gJoeHEOHTq0fiy++0KVlY6PT0evELHSc2C325Gbm4u0tLT6EgALFy4M2ZNLKx0bgJM0eXl5iI+Px5QpUwJ24rc1zDgGGRkZ9Stthg4d2ug4HOj9I5RY7djs7z5/sdJz4LvA2nslUn5+fv3Jf6ix0vEZM2YMcnJy6ifIgvHz1UrPt+zLSsfH7GsiKz0XAOrPvbOysmC327Fw4cI2jyNQWe2Y+MYRSsElq1336P2drHRczDzXtNLzEArndK1hpWMT6myGYRhmD0JERERERERERERERORAVH5KREREREREREREREQCgoIaIiIiIiIiIiIiIiISEBTUEBERERERERERERGRgKCghoiIiIiIiIiIiIiIBAQFNUREREREREREREREJCAoqCEiIiIiIiIiIiIiIgFBQQ0REREREREREREREQkICmqIiIiIiIiIiIiIiEhAUFBDREREREREREREREQCgoIaIiIiIiIiIiIiIiISEBTUEBERERERERERERGRgKCghoiIiIiIiIiIiIiIBIT/A5MCP4WibzFPAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABpU0lEQVR4nO3de3xT9d0H8E9aeuHa0AIWKRADCoqgluJtMHwe6Nwep26Dbu7q3IBO57xLRT2HkqC1CN4v4zLnLs5LUec25gbtRgWZCq0KgiiQplCgAi1piyVJk57nj+/SNL3RQtNzknzer1dfkuaY/pLTJuecz+/3/Zo0TdNARERERERERERERERkcHF6D4CIiIiIiIiIiIiIiKg7GGoQEREREREREREREVFEYKhBREREREREREREREQRgaEGERERERERERERERFFBIYaREREREREREREREQUERhqEBERERERERERERFRRGCoQUREREREREREREREEYGhBhERERERERERERERRYR+eg9AD83NzTh06BAGDx4Mk8mk93CIiIiIiIiIiIiIiGKapmloaGjA2Wefjbi4ztdjxGSocejQIYwePVrvYRARERERERERERERUSsHDhxARkZGp/fHZKgxePBgAPLiDBkyROfREBEREREREREREVG0KigoQFxcHPLy8uD1Aps2Ae+9B9TVASkpwOWXAzNmAImJQGFhIZqbm7Fo0SK9h93n6uvrMXr06Jbr952JyVAjUHJqyJAhDDWIiIiIiIiIiIiIKGwGDBgAVVVx5EgynE4FDgfg8wFxcUBzM7B2LWC1AhaLHWvWPAybzRbT161P1TIiJkMNIiIiIiIiIiIiIqK+oCgK9u8H1qxRYTYDEycqSE4O3u92A9u22VFcrGLePBsURdFtrJEgbKGGw+HA2rVrYbVa4XA4sGDBApjN5h5v29V95eXlKC4uBgBs3boVq1ev7vRnEBERERERERERERH1Na8XcDoVmM2Ay6WiuhqwWILBRXW1HS6XCrPZBqdTgdcrpaioY2ELNXJyclBWVgZAgon58+ejqKiox9t2dV9xcTEWLlwIAFi2bBlmzZrVsi0RERERERERERERkd42bgQcDlmhUV0NOJ0qvF4gPV1Bba0dTqcKi8WG9HQFFRVAaSmQna33qI0rLhwP6nA4Qm5brdaWFRU92bar+8rLy1FQUNBy39y5c1FeXt7u/yEiIiIiIiIiIiIi0svmzdJDIzlZVmiMHGnDoUMqysuTWgINi0VKUjU1SSNx6lxYQo3i4mKkpqaGfC81NRXl5eU92rar+zIzM7F69eqW77tcrpb7iYiIiIiIiIiIiIiMoK5OmoIDgMsFnDypAEgE4IXJlBhSiiouTranzoUl1AgEDG3V1tb2aNtTPc7cuXNbvvfqq69i9uzZHfbU8Hg8qK+vD/kiIiIiIiIiIiIiIgq3lBSguRk4fhxwOgG3245AoKFpXjid9pZtm5tle+pcWEKNznQWUvR027b3uVwurF27ttOeHQUFBUhJSWn5Gj16dLfHQURERERERERERER0uqZPl2bhFRUSaLjdUnJq5kwPLBYbnE4VTqcdbjeQkADMmKH3iI0tLKGG2Wxutyqjtra2w1UUXW3b3cfJy8vDhg0bOnx8AFi0aBHq6upavg4cONDj50RERERERERERERE1FP19YDHAzQ2BgONQMkpi0VpCTZ277bjnHOAmTN1HrDBhSXUmD17doffz8rK6tG23XmcZcuWIS8vD1arFS6Xq8MVHklJSRgyZEjIFxERERERERERERFROBUVAc8+CyQn2+HzqTCbbUhPV0K2SU9XYDbb4HKpsFjsSEzUabARol84HtRqtYbcdjgcyMrKallJUV5eDrPZDKvV2uW2bVdetH2ctWvXIjMzsyXQeO2117BgwYJwPCUiIiIiIiIiIiIiom576SVgzRrA6bTj8GEV8+bZ4HQqqKgAmpqkKXhzs5ScyspSYLEAa9aoGDMGUBTllI8fq8ISagBAUVER8vLyMG3aNGzdujWk30VBQQGmTZuGhQsXnnLbzu5zOBzIyckJ+Zlms5mhBhERERERERERERHpRtOAF18Efv97uX3xxX7cdJMNqqrA6wVKS4FNm4C6OmkKPmOGlJxKTFQwZgzg9/t1Hb/RmTRN0/QeRF+rr69HSkoK6urqWIqKiIiIiIiIiIiIiHqFpgGrVgGvvCK3c3OBG27Qd0yRorvX7cO2UoOIiIiIiIiIiIiIKFZoGvDMM8Abb8jtX/0K+M539B1TNGKoQURERERERERERER0BjQNeOwx4G9/k9t33QVce62+Y4pWDDWIiIiIiIiIiIiIiE5TczNQWAisXw+YTEBeHnD11XqPKnox1CAiIiIiIiIiIiIiOg0+H/Dww8C//w3ExQEPPAD87//qParoxlCDyGDy8/MRHx8PRVFOua3dboff70d+fn74B0ZEREREREREREQtmpoAmw3YvBno1w9QVWDGDL1HFf0YahAZTHx8PFRVBQDk5SnYuFHeGOvqgJQUYPp04KqrgMJCO1RVhc1m03W8REREREREREREscbjARYvBt5/H0hIkHDj8sv1HlVsYKhBZDCBFRqqquLFFwFAgc8ny9eam4GXXgIAOxwOCTS6s6KDiIiIiIiIiIiIeofbLWWmysuBpCTgoYeAqVP1HlXsYKhBZECzZil47jnA4VCRkQGMHx8MLvbutaOqSkV6ug2zZjHQICIiIiIiIiIi6iuNjcCiRcD27UD//sAjjwBTpug9qtgSp/cAiCiU1ytL15KTFVgsNlRVqXA67QAAp1MCDYvFhuRkBYsXy/ZEREREREREREQUXidOAPfeK4HGwIHA8uUMNPTAlRpEBrNxI+BwAOnpEmwAgNOporJyKTTNi7FjbbBYFLjdQEUFUFoKZGfrO2YiIiIiIiIiIqJoVl8P3HMPsGcPMHiwBBrnnaf3qGITV2oQGczmzYDPByQny+2MDAVAIjTNCyARdXUKPvsMOHYMaGgA1q/Xc7RERERERERERETR7fhx4M47JdAwm4EnnmCgoSeu1CAymLo6aQoOSGPwjz6yA5BAA/DC7bYDUHDypDQlevlloLpalrpddBEwebKs8jCZ9HsORERERERERERE0eDYMeDuu4H9+4G0NGDFCmDsWL1HFdsYahAZTEqKhBmaJoHGiRMqBgyw4aKLFBw+bIfTqcJsBgYNUnD4MNCvH1BVJV9//7s8xrBhwYDjoovkjZYhBxERERERERERUfcdOSIrNA4dAkaMAB57DBg1Su9REUMNIoOZPh146SXgww/tqK9X0b+/DZMnK0hKAiyWYI+NjAwgPV3BihXyprp9u3wFSlOVlMgXIHX+AgHHlCnA+PEShhARERFR38jPz0d8fDwURTnltna7HX6/H/n5+eEfGBERERF16NAh4K67gC++AEaOlEAjPV3vURHAUIPIcGbOBOrqJNBITrbhggsU9O8fvL91sGG1At/4hoLEROCKK+R+txv49FMJOD7+GNi1S3pvbNkiX4D065g0SQKOKVOA888HkpL6+IkSERERxZD4+HioqgoAyMtTsHGj9FKrq5OVutOnA1dd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vZeVlXVmTyyC9MU+6Ep33kdild77xiiM9DosW7aspYYtBRllH61cuRIrV65sOaFrfZwYTfR+vQPNJdvWXSah9/4BjHOOpPdr0dE5SGpqaoezT2OJ3vslQO/zRL3pfR5EHTPSftHzuNMor0OsHNv1lN77J9aPBblSI4qcyfLF3NzcljqO3/ve97r12IElxG1xtkHH9N4/RUVFhnij0+t1CPRsCLwmgaWkbMYWSs/f0wULFuD48ePYsGFDy/L3SLzwe6bCuQ96+nM7e5+PVXrtG6PR+3XIzc1loHEKeu+jgAULFqC8vDzqP2v1er23bt0Kh8OBcePGYdy4cXA4HMjOzm5Z7UjCKH8PRjhH0uu1yMzMbPdza2treYzxX3r/jhrlPFFvep+vU8f03i9GOe7U+3UIiJVju57Sa//E+rEgQ40osWrVKjgcjtPuETB79uyWN6aODmgCaWMgBVy1alVLglhcXByyVHXlypUROws1XPTcPwHbtm1r1zSur+n5OmRmZmLbtm0tHwbl5eWora2NqZUAp6L372lg3wSabel94KiHcO+DrnTnfSSW6blvjETv1yE3NxfZ2dkxv+y9K3ruo+Li4pCTqFWrVsFsNkf1Z62er3dhYSH27dvX8gUAGzZs4N9HK3r/PRjpHEnP18JqtSIrK6vl/WHVqlUhk41imd6fq4AxzhP1pvd5EHVM7/1ilONOva/3xdqxXU/puX9i/ViQ5aciVEFBAV599VUAcgEwMzMTZWVlZ/ShmJeX12Xzug0bNiA3Nxd5eXnIzMxEUVERgOAf4NSpU1vGErgvVhlp/wToMRPESK+D1WpFUVERcnJyWpb9l5SUxPSBpJH2DyAXZ4qLi2E2m7Fo0aKIvvDbXXrsg7y8vJaZNVOnTg3ZD6d6H4klRts3Xd0XTkZ6HQInVW1nHpWVlbUc7MciI+2j2bNnY9WqVS0Xx6Lxs9ZIrze1Z6T9o/c5kpFeCwAtx+GFhYWwWq0oKSk57XFEMqPtl8A4Yi1gMtp5EN/nhZH2i57HnUZ6HWLh2K6njLR/Yp1J0zRN70EQERERERERERERERGdCstPERERERERERERERFRRGCoQUREREREREREREREEYGhBhERERERERERERERRQSGGkREREREREREREREFBEYahARERERERERERERUURgqEFERERERERERERERBGBoQYREREREREREREREUUEhhpERERERERERERERBQRGGoQEREREREREREREVFEYKhBREREREREREREREQRgaEGERERERERERERERFFBIYaREREREREREREREQUEf4fjJvONMxZpwwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAABiv0lEQVR4nO3deXwTdf4/8FeaNm25GopiuUOKWgVRSyseICjUa9djlXq7uvvrsa7roq5SqzuhJGotq65+vRbo6rouHhR1PfCiKAiiQlvlUhBJU85ytWm52vTI74/3pmloG1poOpPk9Xw88rAzGdNPZkoyM+/P+/3Wud1uN4iIiIiIiIiIiIiIiDQuQu0BEBERERERERERERERdQaDGkREREREREREREREFBQY1CAiIiIiIiIiIiIioqDAoAYREREREREREREREQUFBjWIiIiIiIiIiIiIiCgoMKhBRERERERERERERERBgUENIiIiIiIiIiIiIiIKCgxqEBERERERERERERFRUIhUewBqaG5uxs6dO9G3b1/odDq1h0NEREREREREREREFNbcbjcOHDiAwYMHIyKi43yMsAxq7Ny5E8OGDVN7GERERERERERERERE1Mq2bdswdOjQDp8Py6BG3759AcjO6devn8qjISIiIiLqefn5+YiIiEBOTg5cLmD5cuDbb4GaGiAuDjj/fGDiRMBgAAoKCtDc3Izc3Fy1h01ERERERCGqtrYWw4YNa7l/35GwDGp4Sk7169ePQQ0iIiIiCku9evWCxWLBnj0xcDgU2O1AYyMQEQE0NwMLFwJmM2Ay2VBY+ASsVivPnYmIiIiIKOCO1TIiLIMaREREREThTlEUbN0KFBZaYDQCSUkKYmK8z9fVASUlNhQXW5CRYYWiKKqNlYiIiIiIyINBDSIiIiKiMORyAQ6HAqMRcDotqKwETCZv4KKy0gan0wKj0QqHQ4HLJaWoiIiIiIiI1MSgBhERERFRGFq6FLDbJUOjshJwOCxoaAASExVs3WqDw2GByWRFQoKC8nJg2TIgLU3tURMRERERUbhjUIOIiIiIKAytWCE9NGJigKFDFVRXAzt2WLBjx2MAXDCZrC2ZGw0N0kicQQ0iIiIiIlJbhNoDICIiIiKinldTI03BDx4ENm0CdDoFgAGAC4ABffp4S1FFRMj2REREREREamNQg4iIiIgoDPXt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yEjpseFw2OBwSLPwSZPqYTJZ4XBY4HDYUFcHREVJ6hwRERERERERERH5MhqB3/9eghv33CMTiKurgXnzgBtvBObMAfbvV3uU1FUsP8XyU6QxLhfwq18BJSU2OJ0S0DCZlJbnPYEOo9GKlBQFixYxZY6IiIiIiIiIiOhYGhuBL76QpuIOh6yLjJSSVDffDAwbpurwwl5n79tH9uCYiKgTDAbAZLKhuFgCFwkJis/zCQkKnE78L+ABGAxKu69DREREREREREREXp4ARloa8O23EtxYtw74+GPpvzFhgjQVP+MMtUdK/jCoQaQxNpsNhYUWZGRY4XAoKC8HGhqAiAjpoREVBaSkKDCZgMJCC4YPBxSFgQ0iIiIiIiIiIqLO0OmACy6Qx/r1EtxYuRJYvlweZ58twY3zzpNtSVsY1CDSmKamJlitViiKApcLWLZMPkxraqQp+MSJwKRJkqExfLhsT0RERERERERERF03Zgzw+ONARQXw1lvA4sXAmjXyMJsluHHJJYBer/ZIyYM9NdhTg4iIiIiIiIiIiIgA7N0LFBUBH30EHDki6045RRqLX3UVEBOj7vhCWWfv2zOowaAGEREREREREREREbVy4ADw/vvAO+8ATqes69cPuP564De/kZ+pezGo4QeDGkRERERERERERER0LPX1wKefAm+/DezaJeuio4Ff/UqyN045Rd3xhRIGNfxgUIOIiIiIiIiIiIiIOqupCfjqK2kqvnmzrIuIAC69VPpumM3qji8UMKjhB4MaRERERERERERERNRVbjdQWirBjbIy7/rx4yW4MXYsoNOpN75gxqCGHwxqEBEREREREREREdGJ2LQJeOstYNkyCXYAwBlnSHBjwgRvcCMvLw96vR6KosDlApYuBVasAGpqgLg42XbyZMBgAGw2G5qampCXl6fSu1JPZ+/bR/bgmIiIiIiIiIiIiIiIQsLppwMzZwI7dkjPjU8/BX76CbBYgGHDgJtvBtLSAL1eD4vFgq1bAYdDgd0ONDZK+armZmD+fClfZTLZUFhogdVqVfutaRozNZipQUREREREREREREQnqKoKePdd4L//BQ4dknUDBgDTpgGffWbDv/5lgdFoRVKSgpgY7/9XVwds3GiD02lBRoYV8+YpqoxfbczUICIiIiIiIiIiIiLqIfHxQEYGcOutwIcfAkVFwP79wMsvAz/+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "tensor([ 1.6464e-05, 1.1927e-05, -2.6803e-05, 1.7572e-05, 3.0857e-05,\n", " -1.9706e-05, 3.3654e-06, 2.0557e-05, 1.1557e-05, -2.4882e-05,\n", " 1.7224e-05, -2.8642e-05, -1.6480e-05, 2.3818e-05, -2.5943e-05,\n", " 5.2350e-06], dtype=torch.float64)\n", "\n", "tensor([-2.0294e-05, -2.9471e-05, -4.3883e-05, 3.7667e-05, -4.6071e-05,\n", " 2.2920e-05, 1.5767e-05, 3.0890e-05, -3.0656e-05, 4.0570e-05,\n", " 3.0196e-05, -4.2305e-05, 3.5224e-05, -4.0320e-05, -4.5387e-05,\n", " 2.0621e-05], dtype=torch.float64)\n", "\n", "tensor([ 3.3573e-06, 2.4453e-07, -1.2019e-06, 3.9919e-06, 5.5643e-06,\n", " -6.7395e-08, -1.5772e-06, -3.8644e-06, -4.6883e-07, 2.0518e-06,\n", " 3.9661e-06, 7.6349e-06, 1.8919e-06, -1.6691e-06, -7.2595e-07,\n", " 2.4373e-06], dtype=torch.float64)\n", "\n", "tensor([ 4.6486e-06, -1.7863e-06, 4.3081e-06, -1.7264e-06, 5.2059e-06,\n", " -2.0194e-06, 4.7156e-07, 6.3280e-06, 7.1448e-07, 4.2817e-06,\n", " 1.1039e-05, -1.0053e-05, -3.0277e-06, -1.5325e-06, 3.0609e-06,\n", " -2.7708e-06], dtype=torch.float64)\n", "\n" ] } ], "source": [ "# Compare orbit response for a single random realization\n", "\n", "# Set errors\n", "\n", "dx = 50.0E-6*torch.randn(n_quad, dtype=torch.float64)\n", "dy = 50.0E-6*torch.randn(n_quad, dtype=torch.float64)\n", "\n", "# Compute closed orbit at all BPMs\n", "# Note, alignment is on\n", "\n", "points, *_ = orbit(ring, fp, [dx, dy], ('dx', ['Quadrupole'], None, None), ('dy', ['Quadrupole'], None, None), alignment=True, advance=True, full=False, limit=16, epsilon=1.0E-12)\n", "\n", "# Test closed orbit\n", "\n", "# Set parametric ring\n", "\n", "start, *_, end = ring.names\n", "mapping, *_ = group(ring, start, end, ('dx', ['Quadrupole'], None, None), ('dy', ['Quadrupole'], None, None), alignment=True)\n", "\n", "# Propagate estimated closed orbit\n", "\n", "point, *_ = points\n", "print(point)\n", "print(mapping(point, dx, dy))\n", "print(torch.allclose(point, mapping(point, dx, dy), rtol=1.0E-12, atol=1.0E-12))\n", "print()\n", "\n", "# Evaluate parametric fixed point for given deviations\n", "\n", "local, *_ = pox\n", "print(evaluate(local, [fp, dx]))\n", "local, *_ = poy\n", "print(evaluate(local, [fp, dy]))\n", "print()\n", "\n", "# Plot orbit at all locations\n", "\n", "qx, px, qy, py = points.T\n", "\n", "Qx, Px, *_ = torch.stack([evaluate(local, [fp, dx]) for local in pox]).T\n", "*_, Qy, Py = torch.stack([evaluate(local, [fp, dy]) for local in poy]).T\n", "\n", "# qx vs Qx\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.errorbar(ring.locations().cpu().numpy(), qx.cpu().numpy(), fmt='-', color='blue', marker='o', ms=8, alpha=0.75)\n", "plt.errorbar(ring.locations().cpu().numpy(), Qx.cpu().numpy(), fmt=' ', color='black', marker='x', ms=8, alpha=1)\n", "plt.xticks(ticks=ring.locations(), labels=dict.fromkeys([name for name, kind, *_ in ring.layout() if kind == 'BPM']))\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# px vs Px\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.errorbar(ring.locations().cpu().numpy(), px.cpu().numpy(), fmt='-', color='blue', marker='o', ms=8, alpha=0.75)\n", "plt.errorbar(ring.locations().cpu().numpy(), Px.cpu().numpy(), fmt=' ', color='black', marker='x', ms=8, alpha=1)\n", "plt.xticks(ticks=ring.locations(), labels=dict.fromkeys([name for name, kind, *_ in ring.layout() if kind == 'BPM']))\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# qy vs Qy\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.errorbar(ring.locations().cpu().numpy(), qy.cpu().numpy(), fmt='-', color='blue', marker='o', ms=8, alpha=0.75)\n", "plt.errorbar(ring.locations().cpu().numpy(), Qy.cpu().numpy(), fmt=' ', color='black', marker='x', ms=8, alpha=1)\n", "plt.xticks(ticks=ring.locations(), labels=dict.fromkeys([name for name, kind, *_ in ring.layout() if kind == 'BPM']))\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# py vs Py\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.errorbar(ring.locations().cpu().numpy(), py.cpu().numpy(), fmt='-', color='blue', marker='o', ms=8, alpha=0.75)\n", "plt.errorbar(ring.locations().cpu().numpy(), Py.cpu().numpy(), fmt=' ', color='black', marker='x', ms=8, alpha=1)\n", "plt.xticks(ticks=ring.locations(), labels=dict.fromkeys([name for name, kind, *_ in ring.layout() if kind == 'BPM']))\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "# Accuracy\n", "\n", "print(qx - Qx)\n", "print()\n", "\n", "print(px - Px)\n", "print()\n", "\n", "print(qy - Qy)\n", "print()\n", "\n", "print(py - Py)\n", "print()" ] }, { "cell_type": "code", "execution_count": 9, "id": "39b1df95-58c2-4dd9-b148-6e4d351c6d0f", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Estimate center and spread at all BPM using direct tracking and MC sampling\n", "# Note, epsilon should be None for vmap, convergence not checked\n", "\n", "def fn(dx, dy):\n", " guess = torch.tensor(4*[0.0], dtype=torch.float64)\n", " point, _ = orbit(ring, guess, [dx, dy], ('dx', ['Quadrupole'], None, None), ('dy', ['Quadrupole'], None, None), alignment=True, advance=True, full=False, limit=16, epsilon=None)\n", " return point\n", "\n", "dxs = 50.0E-6*torch.randn((8192, n_quad), dtype=torch.float64)\n", "dys = 50.0E-6*torch.randn((8192, n_quad), dtype=torch.float64)\n", "\n", "cqxs, cpxs, cqys, cpys = torch.vmap(fn)(dxs, dys).swapaxes(0, -1)\n", "\n", "# Plot histogram at the first BPM for qx and qy\n", "\n", "cqx, *_ = cqxs\n", "cqy, *_ = cqys\n", "\n", "fig, (ax, ay) = plt.subplots(1, 2, figsize=(12, 5))\n", "ax.hist(cqx.cpu().numpy(), bins=100, range=(-5.0E-3, +5.0E-3), color='blue', alpha=0.7)\n", "ay.hist(cqy.cpu().numpy(), bins=100, range=(-5.0E-3, +5.0E-3), color='blue', alpha=0.7)\n", "plt.tight_layout() \n", "plt.show()\n", "\n", "# Estimate center and spread at all BPMs\n", "\n", "qx_center_tracking = cqxs.mean(-1)\n", "qy_center_tracking = cqys.mean(-1)\n", "\n", "qx_spread_tracking = cqxs.std(-1)\n", "qy_spread_tracking = cqys.std(-1)" ] }, { "cell_type": "code", "execution_count": 10, "id": "088f5b8e-855f-479f-8e13-f06bceafbc4f", "metadata": {}, "outputs": [], "source": [ "# Estimate spread (error propagation)\n", "\n", "dx = torch.tensor(n_quad*[0.0], dtype=torch.float64)\n", "dy = torch.tensor(n_quad*[0.0], dtype=torch.float64)\n", "\n", "def fx(dx): \n", " qx, px, qy, py = torch.stack([evaluate(local, [fp, dx]) for local in pox]).T\n", " return qx\n", "\n", "def fy(dy): \n", " qx, px, qy, py = torch.stack([evaluate(local, [fp, dy]) for local in poy]).T\n", " return qy\n", "\n", "jx = torch.func.jacrev(fx)(dx)\n", "jy = torch.func.jacrev(fy)(dy)\n", "\n", "sx = 50.0E-6*torch.ones_like(dx)\n", "sy = 50.0E-6*torch.ones_like(dy)\n", "\n", "sx = torch.diag(sx**2)\n", "sy = torch.diag(sy**2)\n", "\n", "qx_spread_error = (jx @ sx @ jx.T).diag().sqrt()\n", "qy_spread_error = (jy @ sy @ jy.T).diag().sqrt()" ] }, { "cell_type": "code", "execution_count": 11, "id": "61bf7062-1f0e-4132-b3b2-75ff4288c3da", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot (compare estimated spreads)\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(ring.locations())), qx_spread_tracking.cpu().numpy(), color='blue',alpha=0.75)\n", "plt.bar(range(len(ring.locations())), qx_spread_error.cpu().numpy(), color='red', alpha=0.50)\n", "plt.xticks(ticks=range(len(ring.locations())), labels=dict.fromkeys([name for name, kind, *_ in ring.layout() if kind == 'BPM']))\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(ring.locations())), qy_spread_tracking.cpu().numpy(), color='blue',alpha=0.75)\n", "plt.bar(range(len(ring.locations())), qy_spread_error.cpu().numpy(), color='red', alpha=0.50)\n", "plt.xticks(ticks=range(len(ring.locations())), labels=dict.fromkeys([name for name, kind, *_ in ring.layout() if kind == 'BPM']))\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 12, "id": "73cd4494-2e6f-4e86-8b98-33d7fdcfb3b5", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Estimate center and spread at all BPM using series and MC sampling\n", "\n", "dxs = 50.0E-6*torch.randn((8192, n_quad), dtype=torch.float64)\n", "dys = 50.0E-6*torch.randn((8192, n_quad), dtype=torch.float64)\n", "\n", "cqxs, _, _, _ = torch.stack([torch.func.vmap(lambda dx: evaluate(local, [fp, dx]))(dxs) for local in pox]).swapaxes(0, -1)\n", "_, _, cqys, _ = torch.stack([torch.func.vmap(lambda dy: evaluate(local, [fp, dy]))(dys) for local in poy]).swapaxes(0, -1)\n", "\n", "# Plot histogram at the first BPM for qx and qy\n", "\n", "cqx, *_ = cqxs.T\n", "cqy, *_ = cqys.T\n", "\n", "fig, (ax, ay) = plt.subplots(1, 2, figsize=(12, 5))\n", "ax.hist(cqx.cpu().numpy(), bins=100, range=(-5.0E-3, +5.0E-3), color='blue', alpha=0.7)\n", "ay.hist(cqy.cpu().numpy(), bins=100, range=(-5.0E-3, +5.0E-3), color='blue', alpha=0.7)\n", "plt.tight_layout() \n", "plt.show()\n", "\n", "# Estimate center and spread at all BPMs\n", "\n", "qx_center_taylor = cqxs.T.mean(-1)\n", "qy_center_taylor = cqys.T.mean(-1)\n", "\n", "qx_spread_taylor = cqxs.T.std(-1)\n", "qy_spread_taylor = cqys.T.std(-1)" ] }, { "cell_type": "code", "execution_count": 13, "id": "b505d049-fde5-4fe5-9f8b-fd89d77e7f27", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot (compare estimated spreads)\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(ring.locations())), qx_spread_tracking.cpu().numpy(), color='blue',alpha=0.75)\n", "plt.bar(range(len(ring.locations())), qx_spread_taylor.cpu().numpy(), color='red', alpha=0.50)\n", "plt.xticks(ticks=range(len(ring.locations())), labels=dict.fromkeys([name for name, kind, *_ in ring.layout() if kind == 'BPM']))\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(ring.locations())), qy_spread_tracking.cpu().numpy(), color='blue',alpha=0.75)\n", "plt.bar(range(len(ring.locations())), qy_spread_taylor.cpu().numpy(), color='red', alpha=0.50)\n", "plt.xticks(ticks=range(len(ring.locations())), labels=dict.fromkeys([name for name, kind, *_ in ring.layout() if kind == 'BPM']))\n", "plt.tight_layout()\n", "plt.show()" ] } ], "metadata": { "colab": { "collapsed_sections": [ "myt0_gMIOq7b", "5d97819c" ], "name": "03_frequency.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.1" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false } }, "nbformat": 4, "nbformat_minor": 5 }