{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "262a5ec8-2553-4237-ab62-319b6ca22089", "metadata": {}, "source": [ "# Example-46: Twiss (Optics correction)" ] }, { "cell_type": "code", "execution_count": 1, "id": "89f1b2d0-d62c-40f0-aa24-98a15e78976c", "metadata": {}, "outputs": [], "source": [ "# In this example model response matrices of normal and chromatic Twiss parameters are used for correction\n", "# ML style optimization is also performed for optics correction" ] }, { "cell_type": "code", "execution_count": 2, "id": "465011b9-bb27-4fd5-919a-3923ae103a71", "metadata": {}, "outputs": [], "source": [ "# Import\n", "\n", "from pprint import pprint\n", "\n", "import torch\n", "from torch import Tensor\n", "from torch.utils.data import TensorDataset\n", "from torch.utils.data import DataLoader\n", "\n", "from pathlib import Path\n", "\n", "import matplotlib\n", "from matplotlib import pyplot as plt\n", "matplotlib.rcParams['text.usetex'] = True\n", "\n", "from model.library.line import Line\n", "\n", "from model.command.util import select\n", "\n", "from model.command.external import load_sdds\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", "from model.command.wrapper import forward\n", "from model.command.wrapper import inverse\n", "from model.command.wrapper import normalize\n", "from model.command.wrapper import Wrapper\n", "\n", "from model.command.tune import tune\n", "from model.command.twiss import twiss\n", "from model.command.twiss import chromatic_twiss" ] }, { "cell_type": "code", "execution_count": 3, "id": "aa613d87-34ee-4349-b29e-9ce7603b2e29", "metadata": {}, "outputs": [], "source": [ "# Load ELEGANT twiss\n", "\n", "path = Path('ic.twiss')\n", "parameters, columns = load_sdds(path)\n", "\n", "nu_qx:Tensor = torch.tensor(parameters['nux'] % 1, dtype=torch.float64)\n", "nu_qy:Tensor = torch.tensor(parameters['nuy'] % 1, dtype=torch.float64)\n", "\n", "# Set twiss parameters at BPMs\n", "\n", "kinds = select(columns, 'ElementType', keep=False)\n", "\n", "a_qx = select(columns, 'alphax', keep=False)\n", "b_qx = select(columns, 'betax' , keep=False)\n", "a_qy = select(columns, 'alphay', keep=False)\n", "b_qy = select(columns, 'betay' , keep=False)\n", "\n", "a_qx:Tensor = torch.tensor([value for (key, value), kind in zip(a_qx.items(), kinds.values()) if kind == 'MONI'], dtype=torch.float64)\n", "b_qx:Tensor = torch.tensor([value for (key, value), kind in zip(b_qx.items(), kinds.values()) if kind == 'MONI'], dtype=torch.float64)\n", "a_qy:Tensor = torch.tensor([value for (key, value), kind in zip(a_qy.items(), kinds.values()) if kind == 'MONI'], dtype=torch.float64)\n", "b_qy:Tensor = torch.tensor([value for (key, value), kind in zip(b_qy.items(), kinds.values()) if kind == 'MONI'], dtype=torch.float64)\n", "\n", "positions = select(columns, 's', keep=False).items()\n", "positions = [value for (key, value), kind in zip(positions, kinds.values()) if kind == 'MONI']" ] }, { "cell_type": "code", "execution_count": 4, "id": "c948e8c4-a0bb-48ac-a3fa-6677b0a5e02d", "metadata": {}, "outputs": [], "source": [ "# Build and setup lattice\n", "\n", "# Load ELEGANT table\n", "\n", "path = Path('ic.lte')\n", "data = load_lattice(path)\n", "\n", "# Build ELEGANT table\n", "\n", "ring:Line = build('RING', 'ELEGANT', data)\n", "ring.flatten()\n", "\n", "# Merge drifts\n", "\n", "ring.merge()\n", "\n", "# Split BPMs\n", "\n", "ring.split((None, ['BPM'], None, None))\n", "\n", "# Roll lattice start\n", "\n", "ring.roll(1)\n", "\n", "# Set linear dipoles\n", "\n", "for element in ring:\n", " if element.__class__.__name__ == 'Dipole':\n", " element.linear = True\n", "\n", "# Split lattice into lines by BPMs\n", "\n", "ring.splice()\n", "\n", "# Set number of elements of different kinds\n", "\n", "nb = ring.describe['BPM']\n", "nq = ring.describe['Quadrupole']\n", "ns = ring.describe['Sextupole']" ] }, { "cell_type": "code", "execution_count": 5, "id": "c01bdb6a-3831-4696-8781-adeacb8c418a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "True\n" ] } ], "source": [ "# Compare tunes\n", "\n", "nuqx, nuqy = tune(ring, [], alignment=False, matched=True)\n", "\n", "print(torch.allclose(nu_qx, nuqx))\n", "print(torch.allclose(nu_qy, nuqy))" ] }, { "cell_type": "code", "execution_count": 6, "id": "ace743e7-4133-4b67-a98d-ebab26964da8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True\n", "True\n", "True\n", "True\n" ] } ], "source": [ "# Compare twiss\n", "\n", "aqx, bqx, aqy, bqy = twiss(ring, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "\n", "print(torch.allclose(a_qx, aqx))\n", "print(torch.allclose(b_qx, bqx))\n", "print(torch.allclose(a_qy, aqy))\n", "print(torch.allclose(b_qy, bqy))" ] }, { "cell_type": "code", "execution_count": 7, "id": "cd4930e5-e0c1-4346-a1c4-c0561aeaf9cf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([[-0.0893, 0.4014, 1.2554, -0.9068, -1.5491, -0.9866, -0.6147, -0.7071,\n", " -1.9186, 0.2045, -0.1659, 0.4221, 1.9239, 2.2147, 0.5854, -0.4487,\n", " -0.4684, -1.9595, -0.0112, -0.2204, -0.9209, -1.5967, -0.0541, 1.5081,\n", " 0.5988, -0.3222, -0.4638, 0.8415],\n", " [ 0.0182, 0.1496, 0.5733, -0.6730, -0.7756, -0.5178, -0.4104, -0.5325,\n", " -0.9651, 0.2699, -0.0145, 0.1734, 0.9035, 1.1954, 0.3374, -0.2984,\n", " -0.4055, -1.0062, 0.1660, -0.0147, -0.4518, -0.8235, 0.1829, 0.8281,\n", " 0.3562, -0.2319, -0.4848, 0.2358],\n", " [ 1.6183, -0.0219, -0.2993, -0.0049, 0.3526, 0.2005, -0.5750, -0.4693,\n", " 0.1832, 0.0065, -0.5948, -2.2667, -0.8472, 0.8119, 2.2819, 0.7206,\n", " 0.0759, -0.2127, 0.4684, 0.6358, -0.0792, -0.2893, -0.0394, 0.3584,\n", " 0.2001, -1.2685, -0.6598, 0.2486],\n", " [-0.7202, 0.1496, 0.2258, -0.0342, -0.1608, -0.0228, 0.3921, 0.2789,\n", " -0.1348, 0.0622, 0.4565, 1.3632, 0.4758, -0.5180, -1.3618, -0.3315,\n", " 0.0206, 0.1024, -0.2828, -0.3332, 0.1447, 0.2237, -0.0135, -0.1681,\n", " 0.0184, 1.0088, 0.4647, -0.2653]], dtype=torch.float64)\n", "\n", "tensor([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n", " 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n", " 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n", " 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,\n", " 0., 0., 0., 0.]], dtype=torch.float64)\n", "\n" ] } ], "source": [ "# Test derivatives with respect kn and ks at the lattice start\n", "\n", "kn = torch.zeros(nq, dtype=torch.float64)\n", "ks = torch.zeros(nq, dtype=torch.float64)\n", "\n", "pprint(torch.func.jacrev(lambda kn: twiss(ring, [kn], ('kn', ['Quadrupole'], None, None), matched=True))(kn))\n", "print()\n", "\n", "pprint(torch.func.jacrev(lambda ks: twiss(ring, [ks], ('ks', ['Quadrupole'], None, None), matched=True))(ks))\n", "print()\n", "\n", "# Note, first order derivatives with respect to ks are identicaly equal to zero as expected\n", "# Second order derivative is not identicaly equal to zero in general\n", "# In the following, only first order derivatives are used for optics correctios (lattice without coupling)" ] }, { "cell_type": "code", "execution_count": 8, "id": "7afc08d7-2bc1-4dca-b0fe-08632d4167c3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "torch.Size([16, 4, 28])\n", "torch.Size([16, 4, 28])\n" ] } ], "source": [ "# Compute twiss derivatives with respect to quadrupole settings (normal and chromatic)\n", "\n", "def fn_dtwiss_dkn(kn):\n", " return twiss(ring, [kn], ('kn', ['Quadrupole'], None, None), alignment=False, matched=True, advance=True, full=False, convert=True)\n", "\n", "def fn_dtwiss_dp_dkn(kn):\n", " return chromatic_twiss(ring, [kn], ('kn', ['Quadrupole'], None, None), alignment=False, matched=True, advance=True, full=False, convert=True)\n", "\n", "kn = torch.zeros(nq, dtype=torch.float64)\n", "\n", "dtwiss_dkn = torch.func.jacrev(fn_dtwiss_dkn)(kn)\n", "dtwiss_dp_dkn = torch.func.jacrev(fn_dtwiss_dp_dkn)(kn)\n", "\n", "print(dtwiss_dkn.shape)\n", "print(dtwiss_dp_dkn.shape)" ] }, { "cell_type": "code", "execution_count": 9, "id": "75be4cfc-010d-4770-a6cf-ce8d24324070", "metadata": {}, "outputs": [], "source": [ "# Set lattice with focusing errors (no coupling)\n", "\n", "error:Line = ring.clone()\n", "\n", "nq = error.describe['Quadrupole']\n", "\n", "error_kn = 0.1*torch.randn(nq, dtype=torch.float64)\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in error.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn + error_kn[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 10, "id": "cdfc0eaf-01ae-4461-9c32-c8e11babc763", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(1.3708, dtype=torch.float64)\n", "tensor(0.8085, dtype=torch.float64)\n", "tensor(0.5866, dtype=torch.float64)\n", "tensor(0.3774, dtype=torch.float64)\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB700lEQVR4nO3deXhU5dkG8HuSkIU1iyCrQAABZV+0glQUcKlaWytqtbVaFVp3cUFccWVRQNHagtZqq9WK2k+llR1tBBUIhE2DwEBM2Mm+TjKZ8/1xe5iZ7CHJnDMz9++65iJnEpKTOZlz3vM+7/M8DsMwDIiIiIiIiIiIiIiIiNhchNU7ICIiIiIiIiIiIiIi0hAKaoiIiIiIiIiIiIiISFBQUENERERERERERERERIKCghoiIiIiIiIiIiIiIhIUFNQQEREREREREREREZGgoKCGiIiIiIiIiIiIiIgEBQU1REREREREREREREQkKCioISIiIiIiIiIiIiIiQSHK6h1oDI/Hg4MHD6Jdu3ZwOBxW746IiIiIiIiIiIiIiDQDwzBQWFiIrl27IiKi9nyMoApqHDx4ED169LB6N0REREREREREREREpAVkZmaie/futX4+qIIa7dq1A8Bfqn379hbvjYiIiIiIiIiIiIiINIeCggL06NHjRBygNkEV1DBLTrVv315BDREREREREREREREJLh4PsG0bkJ0NJCUBQ4YAdZRaCkf1tZ4IqqCGiIiIiIiIiIiIiEhQSkkB5s0D0tMBlwuIiQEGDADuuw8YN87qvQsaCgGJiIiIiIiIiIiIiLSklBTgzjuBtDSgfXugRw/+u3Urn09JsXoPg4aCGiIiIiIiIiIiIiIiLcXjYYZGXh7QqxfQqhWQkwO0aQP07Ank5wPz5/PrpF4KaoiIiIiIiIiIiIiItJRt21hyqlMnBjPS04EDBxjMcDiAjh2B777j10m91FNDRERERERERERERKSlZGcDpaVAURFQXMzn2rQBYmP5cWwscPw4v07qpaCGiIiIiIiIiIiIiEhLMAxmYWRnAxERQFQU0LUrszNMZWVAdDSQlGTdfgYRBTVERERERERERERERJrb8ePACy8AX3/NbIzycqB/f2+GBsCgx7FjwLBhwJAhlu1qMFFPDRERERERERERERGR5mIYwPLlwI03At98wyyMO+4AevcGDh9mCarK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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute twiss and plot beta beating\n", "\n", "ax_model, bx_model, ay_model, by_model = twiss(ring, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "ax_error, bx_error, ay_error, by_error = twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "\n", "# Compare twiss\n", "\n", "print((ax_model - ax_error).norm())\n", "print((bx_model - bx_error).norm())\n", "print((ay_model - ay_error).norm())\n", "print((by_model - by_error).norm())\n", "print()\n", "\n", "# Plot beta beating\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "id": "77137cd1-1a6e-4334-ad4e-c5c8a0f39069", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(1.7376, dtype=torch.float64)\n", "tensor(0.2810, dtype=torch.float64)\n" ] } ], "source": [ "# Test Twiss response\n", "\n", "twiss_error = torch.stack([ax_error, bx_error, ay_error, by_error])\n", "twiss_model = torch.stack([ax_model, bx_model, ay_model, by_model])\n", "\n", "print((twiss_error - (twiss_model + 0.0*(dtwiss_dkn @ error_kn).T)).norm())\n", "print((twiss_error - (twiss_model + 1.0*(dtwiss_dkn @ error_kn).T)).norm())" ] }, { "cell_type": "code", "execution_count": 12, "id": "f56fc0fa-2227-4222-9386-10106f9a367b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(1.7376, dtype=torch.float64)\n", "tensor(1.5638, dtype=torch.float64)\n", "tensor(1.4067, dtype=torch.float64)\n", "tensor(1.2649, dtype=torch.float64)\n", "tensor(1.1371, dtype=torch.float64)\n", "tensor(1.0220, dtype=torch.float64)\n", "tensor(0.9184, dtype=torch.float64)\n", "tensor(0.8252, dtype=torch.float64)\n", "tensor(0.7415, dtype=torch.float64)\n", "tensor(0.6663, dtype=torch.float64)\n", "tensor(0.5989, dtype=torch.float64)\n", "tensor(0.5384, dtype=torch.float64)\n", "tensor(0.4842, dtype=torch.float64)\n", "tensor(0.4357, dtype=torch.float64)\n", "tensor(0.3922, dtype=torch.float64)\n", "tensor(0.3533, dtype=torch.float64)\n", "tensor(0.3185, dtype=torch.float64)\n", "tensor(0.2873, dtype=torch.float64)\n", "tensor(0.2595, dtype=torch.float64)\n", "tensor(0.2345, dtype=torch.float64)\n", "tensor(0.2122, dtype=torch.float64)\n", "tensor(0.1922, dtype=torch.float64)\n", "tensor(0.1743, dtype=torch.float64)\n", "tensor(0.1583, dtype=torch.float64)\n", "tensor(0.1440, dtype=torch.float64)\n", "tensor(0.1311, dtype=torch.float64)\n", "tensor(0.1195, dtype=torch.float64)\n", "tensor(0.1091, dtype=torch.float64)\n", "tensor(0.0998, dtype=torch.float64)\n", "tensor(0.0914, dtype=torch.float64)\n", "tensor(0.0838, dtype=torch.float64)\n", "tensor(0.0770, dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Perform correction (model to experiment)\n", "\n", "# Set response matrix\n", "\n", "matrix = dtwiss_dkn.reshape(-1, nq)\n", "\n", "# Set target twiss parameters\n", "\n", "twiss_error = twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True)\n", "\n", "# Set learning rate\n", "\n", "lr = 0.1\n", "\n", "# Set initial values\n", "\n", "kn = torch.zeros_like(error_kn)\n", "\n", "# Fit\n", "\n", "for _ in range(32):\n", " twiss_model = twiss(ring, [kn], ('kn', ['Quadrupole'], None, None), alignment=False, matched=True, advance=True, full=False, convert=True)\n", " dkn = - lr*torch.linalg.lstsq(matrix, (twiss_model - twiss_error).flatten(), driver='gelsd').solution\n", " kn += dkn\n", " print((twiss_model - twiss_error).norm())\n", "\n", "# Plot final quadrupole settings\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_kn)), error_kn.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(kn)), +kn.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 13, "id": "f0832cee-54f1-4365-a0a5-d97f7a4b7efe", "metadata": {}, "outputs": [], "source": [ "# Apply corrections\n", "\n", "lattice:Line = error.clone()\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in lattice.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn - kn[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 14, "id": "ea12e689-2408-40c3-afe6-b59ddda48155", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACY0UlEQVR4nO3dd5wU5f0H8M9su0Y5OOkgcIBgQRBQI0psYKwxRWKikUhUSIwxxkawdwRboqaAJiiJiRFNfkaNIkUNxUJHURA4RI7O9bpt5vfH5+Z29wp3B3e3s7uf9+s17M7u3jG3szvzzPN9vt/HsCzLgoiIiIiIiIiIiIiIiMO54r0BIiIiIiIiIiIiIiIizaGghoiIiIiIiIiIiIiIJAQFNUREREREREREREREJCEoqCEiIiIiIiIiIiIiIglBQQ0REREREREREREREUkICmqIiIiIiIiIiIiIiEhCUFBDREREREREREREREQSgoIaIiIiIiIiIiIiIiKSEDzx3oCWME0Tu3fvRseOHWEYRrw3R0REREREREREREREWoFlWSgrK0Pv3r3hcjWej5FQQY3du3ejX79+8d4MERERERERERERERFpAzt37kTfvn0bfT6hghodO3YEwD+qU6dOcd4aERERERERERERERFpDaWlpejXr19tHKAxCRXUsEtOderUSUENEREREREREREREUkspgls2AAUFAA5OcCJJwKHKLWUipqaeiKhghoiIiIiIiIiIiIiIglp6VLgiSeATZsAvx9ISwOGDQNuuQUYNy7eW5cwFAISEREREREREREREWlLS5cCv/wlsG4d0KkT0K8fb9ev5+NLl8Z7CxOGghoiIiIiIiIiIiIiIm3FNJmhUVwMDBgAeL1AYSGQlQX07w+UlABPPsnXSZMU1BARERERERERERERaSsbNrDkVPfuDGZs2gTs2sVghmEA3boBX3zB10mTNKeGiIiIiIiIiIiIiEhbKSgAqqqA8nKgooKPZWUB6em8n54OHDzI10mTFNQQEREREREREREREWkLlsUsjIICwOUCPB6gd29mZ9iqqwGfD8jJid92JhAFNUREREREREREREREWtvBg8DjjwMffcRsjEAAGDo0kqEBMOhx4AAwciRw4olx29REojk1RERERERERERERERai2UBCxYAV18NfPwxszBuuAEYOBDYu5clqMJh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WhRzgTRnzhxkZ2enxPk3nu/7zJkzsW3bttoFABYuXKjvSR3x/m447Voqnu9Hbm4uxowZU3u8mDNnTsyApFQX73Mt4IzrSSeI9/WSNC7e+8ZJbdJ49xWmatuvJeK5j9ROVPmpuJgxYwb++c9/AmCn36hRo7B69eojOsFNmzbtkJPSLVy4EFOnTsW0adMwatQozJ8/H0DkCzR69OjabbGfS3VO2k+2eIzucNL7kJubi/nz52PixIm1af2LFy9O+cahk/YRwE6YRYsWITs7G9OnT0/4zt6WiMe+mDZtWu2ImdGjR8fsj6aOKanGafvnUM+1NSe9F/ZFU91RRatXr65tyKciJ+2j8ePHY86cObUdYcl8/nXS+y4Nc9I+csK1lJPeDwC1bfWZM2ciNzcXixcvPuztSHRO2zf2dqRikMlp10s67kc4ad/Eu03qpPcildp+LeGkfSSAYVmWFe+NEBERERERERERERERaYrKT4mIiIiIiIiIiIiISEJQUENERERERERERERERBKCghoiIiIiIiIiIiIiIpIQFNQQEREREREREREREZGEoKCGiIiIiIiIiIiIiIgkBAU1REREREREREREREQkISioISIiIiIiIiIiIiIiCUFBDRERERERERERERERSQgKaoiIiIiIiIiIiIiISEJQUENERERERERERERERBKCghoiIiIiIiIiIiIiIpIQFNQQEREREREREREREZGE8P8wYfayJZKNogAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute twiss and plot beta beating\n", "\n", "ax_model, bx_model, ay_model, by_model = twiss(ring, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "ax_error, bx_error, ay_error, by_error = twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "ax_final, bx_final, ay_final, by_final = twiss(lattice, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "\n", "# Plot beta beating\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_final)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='x')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_final)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='x')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "id": "c877b0c4-fe73-4e40-bff8-1f61f3f0e562", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(69.5123, dtype=torch.float64)\n", "tensor(5.5803, dtype=torch.float64)\n" ] } ], "source": [ "# Test Twiss response (chromatic)\n", "\n", "twiss_error = chromatic_twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True)\n", "twiss_model = chromatic_twiss(ring, [], alignment=False, matched=True, advance=True, full=False, convert=True)\n", "\n", "print((twiss_error - (twiss_model + 0.0*(dtwiss_dp_dkn @ error_kn))).norm())\n", "print((twiss_error - (twiss_model + 1.0*(dtwiss_dp_dkn @ error_kn))).norm())" ] }, { "cell_type": "code", "execution_count": 16, "id": "77135f2d-8032-482d-b562-281d0fcc83c4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(69.5340, dtype=torch.float64)\n", "tensor(62.5709, dtype=torch.float64)\n", "tensor(56.2831, dtype=torch.float64)\n", "tensor(50.6092, dtype=torch.float64)\n", "tensor(45.4934, dtype=torch.float64)\n", "tensor(40.8845, dtype=torch.float64)\n", "tensor(36.7358, dtype=torch.float64)\n", "tensor(33.0042, dtype=torch.float64)\n", "tensor(29.6499, dtype=torch.float64)\n", "tensor(26.6367, dtype=torch.float64)\n", "tensor(23.9311, dtype=torch.float64)\n", "tensor(21.5026, dtype=torch.float64)\n", "tensor(19.3235, dtype=torch.float64)\n", "tensor(17.3686, dtype=torch.float64)\n", "tensor(15.6148, dtype=torch.float64)\n", "tensor(14.0417, dtype=torch.float64)\n", "tensor(12.6304, dtype=torch.float64)\n", "tensor(11.3641, dtype=torch.float64)\n", "tensor(10.2279, dtype=torch.float64)\n", "tensor(9.2081, dtype=torch.float64)\n", "tensor(8.2926, dtype=torch.float64)\n", "tensor(7.4706, dtype=torch.float64)\n", "tensor(6.7322, dtype=torch.float64)\n", "tensor(6.0687, dtype=torch.float64)\n", "tensor(5.4725, dtype=torch.float64)\n", "tensor(4.9364, dtype=torch.float64)\n", "tensor(4.4543, dtype=torch.float64)\n", "tensor(4.0206, dtype=torch.float64)\n", "tensor(3.6303, dtype=torch.float64)\n", "tensor(3.2790, dtype=torch.float64)\n", "tensor(2.9626, dtype=torch.float64)\n", "tensor(2.6776, dtype=torch.float64)\n", "tensor(2.4208, dtype=torch.float64)\n", "tensor(2.1893, dtype=torch.float64)\n", "tensor(1.9806, dtype=torch.float64)\n", "tensor(1.7924, dtype=torch.float64)\n", "tensor(1.6225, dtype=torch.float64)\n", "tensor(1.4692, dtype=torch.float64)\n", "tensor(1.3308, dtype=torch.float64)\n", "tensor(1.2059, dtype=torch.float64)\n", "tensor(1.0930, dtype=torch.float64)\n", "tensor(0.9909, dtype=torch.float64)\n", "tensor(0.8987, dtype=torch.float64)\n", "tensor(0.8153, dtype=torch.float64)\n", "tensor(0.7399, dtype=torch.float64)\n", "tensor(0.6717, dtype=torch.float64)\n", "tensor(0.6099, dtype=torch.float64)\n", "tensor(0.5540, dtype=torch.float64)\n", "tensor(0.5034, dtype=torch.float64)\n", "tensor(0.4575, dtype=torch.float64)\n", "tensor(0.4159, dtype=torch.float64)\n", "tensor(0.3783, dtype=torch.float64)\n", "tensor(0.3441, dtype=torch.float64)\n", "tensor(0.3131, dtype=torch.float64)\n", "tensor(0.2850, dtype=torch.float64)\n", "tensor(0.2595, dtype=torch.float64)\n", "tensor(0.2364, dtype=torch.float64)\n", "tensor(0.2154, dtype=torch.float64)\n", "tensor(0.1963, dtype=torch.float64)\n", "tensor(0.1789, dtype=torch.float64)\n", "tensor(0.1632, dtype=torch.float64)\n", "tensor(0.1489, dtype=torch.float64)\n", "tensor(0.1358, dtype=torch.float64)\n", "tensor(0.1240, dtype=torch.float64)\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Perform correction (model to experiment) including chromatic twiss\n", "\n", "# Set response matrix\n", "\n", "matrix = torch.vstack([dtwiss_dkn.reshape(-1, nq), dtwiss_dp_dkn.reshape(-1, nq)])\n", "\n", "# Set target twiss parameters\n", "\n", "twiss_error = twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True)\n", "chromatic_twiss_error = chromatic_twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True)\n", "\n", "# Set learning rate\n", "\n", "lr = 0.1\n", "\n", "# Set initial values\n", "\n", "kn = torch.zeros_like(error_kn)\n", "\n", "# Fit\n", "\n", "for _ in range(64):\n", " twiss_model = twiss(ring, [kn], ('kn', ['Quadrupole'], None, None), alignment=False, matched=True, advance=True, full=False, convert=True)\n", " chromatic_twiss_model = chromatic_twiss(ring, [kn], ('kn', ['Quadrupole'], None, None), alignment=False, matched=True, advance=True, full=False, convert=True)\n", " dkn = - lr*torch.linalg.lstsq(matrix, torch.stack([twiss_model - twiss_error, chromatic_twiss_model - chromatic_twiss_error]).flatten(), driver='gelsd').solution\n", " kn += dkn\n", " print(torch.stack([twiss_model - twiss_error, chromatic_twiss_model - chromatic_twiss_error]).norm())\n", "\n", "# Plot final quadrupole settings\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.bar(range(len(error_kn)), error_kn.cpu().numpy(), color='red', alpha=0.75, width=1)\n", "plt.bar(range(len(kn)), +kn.cpu().numpy(), color='blue', alpha=0.75, width=0.75)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 17, "id": "82db6fb5-20d7-4f69-a934-6e4d66e55172", "metadata": {}, "outputs": [], "source": [ "# Apply corrections\n", "\n", "lattice:Line = error.clone()\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in lattice.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn - kn[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 18, "id": "c498df81-f365-4830-9620-1cdb2bc89b75", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACNb0lEQVR4nO3deXwU5f0H8M9sTghHSOQGgXCLIAJeIF6AR7W1tVKtB0qr0Fq1Fg/E+0ZQ8WwtaD1QWytqf1qt3B4cHlzhlDMQCTe5z012d35/fJjsbrIJCSSZ2d3P+/VayOw5u7M788zzfb7fxzBN04SIiIiIiIiIiIiIiIjDuexeARERERERERERERERkbpQUENERERERERERERERMKCghoiIiIiIiIiIiIiIhIWFNQQEREREREREREREZGwoKCGiIiIiIiIiIiIiIiEBQU1REREREREREREREQkLCioISIiIiIiIiIiIiIiYUFBDRERERERERERERERCQuxdq9Affh8PuzduxctW7aEYRh2r46IiIiIiIiIiIiIiDQA0zRRWFiITp06weWqOR8jrIIae/fuRdeuXe1eDRERERERERERERERaQS7d+9Gly5darw9rIIaLVu2BMA31apVK5vXRkREREREREREREREGkJBQQG6du1aGQeoSVgFNaySU61atVJQQ0RERERERERERETCi88HrFsHZGcDqanAoEFALaWWotHRpp4Iq6CGiIiIiIiIiIiIiEhYWrIEeO45YPNmwO0GEhKAfv2AO+8ERo60e+3ChkJAIiIiIiIiIiIiIiKNackS4LbbgPR0oFUroGtX/r92La9fssTuNQwbCmqIiIiIiIiIiIiIiDQWn48ZGnl5QPfuQFwckJMDJCUB3boB+fnAjBm8nxyVghoiIiIiIiIiIiIiIo1l3TqWnGrXjsGMzZuBPXsYzDAMoG1b4McfeT85Ks2pISIiIiIiIiIiIiLSWLKzgdJSoKgIKC7mdUlJQGIi/05MBA4f5v3kqBTUEBERERERERERERFpDKbJLIzsbMDlAmJjgU6dmJ1hKSsD4uOB1FT71jOMKKghIiIiIiIiIiIiItLQDh8Gnn0W+O47ZmOUlwN9+/ozNAAGPQ4dAgYPBgYNsm1Vw4nm1BARERERERERERERaSimCcybB9x4I/D998zCuPVWoEcPYP9+lqDyevl/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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute twiss and plot beta beating\n", "\n", "ax_model, bx_model, ay_model, by_model = twiss(ring, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "ax_error, bx_error, ay_error, by_error = twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "ax_final, bx_final, ay_final, by_final = twiss(lattice, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "\n", "# Plot beta beating\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_final)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='x')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_final)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='x')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 19, "id": "7327d250-aac9-4872-8645-3b094cda26a5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(1.7376, dtype=torch.float64)\n", "tensor(0., dtype=torch.float64)\n", "\n", "tensor(1.7376, dtype=torch.float64)\n", "tensor(4.8796e-13, dtype=torch.float64)\n", "\n", "tensor(1.7376, dtype=torch.float64)\n", "tensor(1.5623, dtype=torch.float64)\n", "tensor(1.4006, dtype=torch.float64)\n", "tensor(1.2536, dtype=torch.float64)\n", "tensor(1.1222, dtype=torch.float64)\n", "tensor(1.0066, dtype=torch.float64)\n", "tensor(0.9054, dtype=torch.float64)\n", "tensor(0.8187, dtype=torch.float64)\n", "tensor(0.7487, dtype=torch.float64)\n", "tensor(0.6968, dtype=torch.float64)\n", "tensor(0.6613, dtype=torch.float64)\n", "tensor(0.6364, dtype=torch.float64)\n", "tensor(0.6152, dtype=torch.float64)\n", "tensor(0.5918, dtype=torch.float64)\n", "tensor(0.5634, dtype=torch.float64)\n", "tensor(0.5298, dtype=torch.float64)\n", "tensor(0.4917, dtype=torch.float64)\n", "tensor(0.4498, dtype=torch.float64)\n", "tensor(0.4053, dtype=torch.float64)\n", "tensor(0.3615, dtype=torch.float64)\n", "tensor(0.3244, dtype=torch.float64)\n", "tensor(0.2996, dtype=torch.float64)\n", "tensor(0.2876, dtype=torch.float64)\n", "tensor(0.2831, dtype=torch.float64)\n", "tensor(0.2812, dtype=torch.float64)\n", "tensor(0.2804, dtype=torch.float64)\n", "tensor(0.2789, dtype=torch.float64)\n", "tensor(0.2738, dtype=torch.float64)\n", "tensor(0.2647, dtype=torch.float64)\n", "tensor(0.2542, dtype=torch.float64)\n", "tensor(0.2450, dtype=torch.float64)\n", "tensor(0.2369, dtype=torch.float64)\n", "tensor(0.2295, dtype=torch.float64)\n", "tensor(0.2242, dtype=torch.float64)\n", "tensor(0.2220, dtype=torch.float64)\n", "tensor(0.2203, dtype=torch.float64)\n", "tensor(0.2160, dtype=torch.float64)\n", "tensor(0.2092, dtype=torch.float64)\n", "tensor(0.2011, dtype=torch.float64)\n", "tensor(0.1925, dtype=torch.float64)\n", "tensor(0.1854, dtype=torch.float64)\n", "tensor(0.1817, dtype=torch.float64)\n", "tensor(0.1799, dtype=torch.float64)\n", "tensor(0.1769, dtype=torch.float64)\n", "tensor(0.1718, dtype=torch.float64)\n", "tensor(0.1649, dtype=torch.float64)\n", "tensor(0.1571, dtype=torch.float64)\n", "tensor(0.1504, dtype=torch.float64)\n", "tensor(0.1459, dtype=torch.float64)\n", "tensor(0.1423, dtype=torch.float64)\n", "tensor(0.1390, dtype=torch.float64)\n", "tensor(0.1354, dtype=torch.float64)\n", "tensor(0.1310, dtype=torch.float64)\n", "tensor(0.1267, dtype=torch.float64)\n", "tensor(0.1231, dtype=torch.float64)\n", "tensor(0.1199, dtype=torch.float64)\n", "tensor(0.1169, dtype=torch.float64)\n", "tensor(0.1127, dtype=torch.float64)\n", "tensor(0.1073, dtype=torch.float64)\n", "tensor(0.1017, dtype=torch.float64)\n", "tensor(0.0971, dtype=torch.float64)\n", "tensor(0.0936, dtype=torch.float64)\n", "tensor(0.0902, dtype=torch.float64)\n", "tensor(0.0865, dtype=torch.float64)\n" ] } ], "source": [ "# ML style correction (model to experiment)\n", "\n", "# Set target twiss parameters\n", "\n", "twiss_error = twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True)\n", "\n", "# Set learning rate\n", "\n", "lr = 0.005\n", "\n", "# Set parametric twiss\n", "\n", "def twiss_model(kn):\n", " return twiss(ring, [kn], ('kn', ['Quadrupole'], None, None), alignment=False, matched=True, advance=True, full=False, convert=True)\n", "\n", "# Set objective function\n", "\n", "def objective(kn):\n", " return (twiss_error - twiss_model(kn)).norm()\n", "\n", "# Set initial values\n", "\n", "kn = torch.zeros_like(error_kn)\n", "\n", "# Test objective function\n", "\n", "print(objective(0.0*error_kn))\n", "print(objective(1.0*error_kn))\n", "print()\n", "\n", "# Set normalized objective\n", "\n", "objective = normalize(objective, [(-0.5, 0.5)])\n", "\n", "# Test normalized objective\n", "\n", "print(objective(*forward([0.0*error_kn], [(-0.5, 0.5)])))\n", "print(objective(*forward([1.0*error_kn], [(-0.5, 0.5)])))\n", "print()\n", "\n", "# Normalize initial settings\n", "\n", "kn, *_ = forward([kn], [(-0.5, 0.5)])\n", "\n", "# Set model (forward returns evaluated objective)\n", "\n", "model = Wrapper(objective, kn)\n", "\n", "# Set optimizer\n", "\n", "optimizer = torch.optim.Adam(model.parameters(), lr=lr)\n", "\n", "# Perform optimization\n", "\n", "for epoch in range(64):\n", " value = model()\n", " value.backward()\n", " optimizer.step()\n", " optimizer.zero_grad()\n", " print(value.detach())" ] }, { "cell_type": "code", "execution_count": 20, "id": "b9c45388-8774-4d59-bb8d-2695dc1d1afb", "metadata": {}, "outputs": [], "source": [ "# Apply corrections\n", "\n", "kn, *_ = inverse([kn], [(-0.5, 0.5)])\n", "\n", "lattice:Line = error.clone()\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in lattice.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn - kn[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 21, "id": "ebefada3-eea3-4cdb-8278-94b6a10339d3", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACalElEQVR4nO3deZwT5f0H8M8k2Ztd9uA+RBYQPBAE1ApSTzyqra0V9eexSluhtda2XojW+0Dw1tYK2qKrtlbUHtoqp1gOrcqpKAgsIsvNntkr2STz++Ozs0n2XtjdTJLP+/WaVzJJdnc2k8w883yf7/cxTNM0ISIiIiIiIiIiIiIiYnOOSG+AiIiIiIiIiIiIiIhIWyioISIiIiIiIiIiIiIiUUFBDRERERERERERERERiQoKaoiIiIiIiIiIiIiISFRQUENERERERERERERERKKCghoiIiIiIiIiIiIiIhIVFNQQEREREREREREREZGooKCGiIiIiIiIiIiIiIhEBVekN6A9AoEAdu/ejfT0dBiGEenNERERERERERERERGRDmCaJtxuN/r16weHo/l8jKgKauzevRsDBw6M9GaIiIiIiIiIiIiIiEgn2LlzJwYMGNDs81EV1EhPTwfAfyojIyPCWyMiIiIiIiIiIiIiIh2hvLwcAwcOrI8DNCeqghpWyamMjAwFNUREREREREREREQkugQCwIYNQFERkJMDHH880EKppXjU2tQTURXUEBERERERERERERGJSsuXA48/DmzaBHg8QFISMGIEcPPNwMSJkd66qKEQkIiIiIiIiIiIiIhIZ1q+HPjVr4B164CMDGDgQN6uX8/Hly+P9BZGDQU1REREREREREREREQ6SyDADI3SUuDII4GEBKC4GEhLAwYNAsrKgCee4OukVQpqiIiIiIiIiIiIiIh0lg0bWHKqVy8GMzZtAnbtYjDDMICePYGvvuLrpFWaU0NEREREREREREREpLMUFQHV1UBFBVBZycfS0oDkZN5PTgYOHuTrpFUKaoiIiIiIiIiIiIiIdAbTZBZGURHgcAAuF9CvH7MzLDU1QGIikJMTue2MIgpqiIiIiIiIiIiIiIh0tIMHgcceAz7+mNkYXi8wfHgwQwNg0OPAAWD0aOD44yO2qdFEc2qIiIiIiIiIiIiIiHQU0wQWLACuvRb43/+YhXHDDcDgwcDevSxB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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute twiss and plot beta beating\n", "\n", "ax_model, bx_model, ay_model, by_model = twiss(ring, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "ax_error, bx_error, ay_error, by_error = twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "ax_final, bx_final, ay_final, by_final = twiss(lattice, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "\n", "# Plot beta beating\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_final)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='x')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_final)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='x')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 22, "id": "ff578ab4-cbbc-4e66-b624-6f58b906855d", "metadata": {}, "outputs": [], "source": [ "# AdEMAMix optimizer\n", "\n", "# https://arxiv.org/abs/2409.03137\n", "# https://github.com/apple/ml-ademamix\n", "\n", "import math\n", "import torch\n", "from torch.optim import Optimizer\n", "\n", "\n", "def linear_warmup_scheduler(step, alpha_end, alpha_start=0, warmup=1):\n", " if step < warmup:\n", " a = step / float(warmup)\n", " return (1.0-a) * alpha_start + a * alpha_end\n", " return alpha_end\n", "\n", "\n", "def linear_hl_warmup_scheduler(step, beta_end, beta_start=0, warmup=1):\n", " def f(beta, eps=1e-8):\n", " return math.log(0.5)/math.log(beta+eps)-1\n", " def f_inv(t):\n", " return math.pow(0.5, 1/(t+1))\n", " if step < warmup:\n", " a = step / float(warmup)\n", " return f_inv((1.0-a) * f(beta_start) + a * f(beta_end))\n", " return beta_end\n", "\n", "\n", "class AdEMAMix(Optimizer):\n", " \"\"\"Implements the AdEMAMix algorithm.\n", "\n", " Arguments:\n", " params (iterable): iterable of parameters to optimize or dicts defining\n", " parameter groups\n", " lr (float, optional): learning rate (default: 1e-3)\n", " betas (Tuple[float, float, float], optional): coefficients used for computing\n", " running averages of gradient and its square (default: (0.9, 0.999, 0.9999)) \n", " corresponding to beta_1, beta_2, beta_3 in AdEMAMix\n", " alpha (float): AdEMAMix alpha coeficient mixing the slow and fast EMAs (default: 2)\n", " beta3_warmup (int, optional): number of warmup steps used to increase beta3 (default: None)\n", " alpha_warmup: (int, optional): number of warmup steps used to increase alpha (default: None)\n", " eps (float, optional): term added to the denominator to improve\n", " numerical stability (default: 1e-8)\n", " weight_decay (float, optional): weight decay as in AdamW (default: 0)\n", " \"\"\"\n", " def __init__(self, \n", " params, \n", " lr=1e-3, \n", " betas=(0.9, 0.999, 0.9999), \n", " alpha=2.0, \n", " beta3_warmup=None, \n", " alpha_warmup=None, \n", " eps=1e-8,\n", " weight_decay=0):\n", " \n", " defaults = dict(lr=lr, \n", " betas=betas, \n", " eps=eps, \n", " alpha=alpha, \n", " beta3_warmup=beta3_warmup,\n", " alpha_warmup=alpha_warmup, \n", " weight_decay=weight_decay)\n", " \n", " super().__init__(params, defaults)\n", "\n", " def __setstate__(self, state):\n", " super().__setstate__(state)\n", "\n", " @torch.no_grad()\n", " def step(self, closure=None):\n", " \"\"\"Performs a single optimization step.\n", "\n", " Arguments:\n", " closure (callable, optional): A closure that reevaluates the model\n", " and returns the loss.\n", " \"\"\"\n", " loss = None\n", " if closure is not None:\n", " with torch.enable_grad():\n", " loss = closure()\n", "\n", " for group in self.param_groups:\n", " \n", " lr = group[\"lr\"]\n", " lmbda = group[\"weight_decay\"]\n", " eps = group[\"eps\"]\n", " beta1, beta2, beta3_final = group[\"betas\"]\n", " beta3_warmup = group[\"beta3_warmup\"]\n", " alpha_final = group[\"alpha\"]\n", " alpha_warmup = group[\"alpha_warmup\"]\n", " \n", " for p in group['params']:\n", " if p.grad is None:\n", " continue\n", " grad = p.grad\n", " if grad.is_sparse:\n", " raise RuntimeError('AdEMAMix does not support sparse gradients.')\n", "\n", " state = self.state[p]\n", "\n", "\n", " if len(state) == 0:\n", " state['step'] = 0\n", " if beta1 != 0.0:\n", " state['exp_avg_fast'] = torch.zeros_like(p, memory_format=torch.preserve_format)\n", " else: \n", " state['exp_avg_fast'] = None\n", " state['exp_avg_slow'] = torch.zeros_like(p, memory_format=torch.preserve_format)\n", " state['exp_avg_sq'] = torch.zeros_like(p, memory_format=torch.preserve_format)\n", "\n", " exp_avg_fast, exp_avg_slow, exp_avg_sq = state['exp_avg_fast'], state['exp_avg_slow'], state['exp_avg_sq']\n", "\n", " state['step'] += 1\n", " bias_correction1 = 1 - beta1 ** state['step']\n", " bias_correction2 = 1 - beta2 ** state['step']\n", "\n", " if alpha_warmup is not None:\n", " alpha = linear_warmup_scheduler(state[\"step\"], alpha_end=alpha_final, alpha_start=0, warmup=alpha_warmup)\n", " else:\n", " alpha = alpha_final\n", " \n", " if beta3_warmup is not None:\n", " beta3 = linear_hl_warmup_scheduler(state[\"step\"], beta_end=beta3_final, beta_start=beta1, warmup=beta3_warmup)\n", " else:\n", " beta3 = beta3_final\n", "\n", " if beta1 != 0.0:\n", " exp_avg_fast.mul_(beta1).add_(grad, alpha=1 - beta1)\n", " else:\n", " exp_avg_fast = grad\n", " exp_avg_slow.mul_(beta3).add_(grad, alpha=1 - beta3)\n", " exp_avg_sq.mul_(beta2).addcmul_(grad, grad, value=1 - beta2)\n", "\n", " denom = (exp_avg_sq.sqrt() / math.sqrt(bias_correction2)).add_(eps)\n", "\n", " update = (exp_avg_fast.div(bias_correction1) + alpha * exp_avg_slow) / denom\n", "\n", " update.add_(p, alpha=lmbda)\n", "\n", " p.add_(-lr * update)\n", "\n", " return loss" ] }, { "cell_type": "code", "execution_count": 23, "id": "e866fea2-f0c2-4068-8527-c4ace2afa8bc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor(0.0472, dtype=torch.float64)\n", "tensor(0.0381, dtype=torch.float64)\n", "tensor(0.0307, dtype=torch.float64)\n", "tensor(0.0247, dtype=torch.float64)\n", "tensor(0.0199, dtype=torch.float64)\n", "tensor(0.0161, dtype=torch.float64)\n", "tensor(0.0133, dtype=torch.float64)\n", "tensor(0.0111, dtype=torch.float64)\n", "tensor(0.0094, dtype=torch.float64)\n", "tensor(0.0082, dtype=torch.float64)\n", "tensor(0.0075, dtype=torch.float64)\n", "tensor(0.0069, dtype=torch.float64)\n", "tensor(0.0066, dtype=torch.float64)\n", "tensor(0.0063, dtype=torch.float64)\n", "tensor(0.0060, dtype=torch.float64)\n", "tensor(0.0057, dtype=torch.float64)\n", "tensor(0.0053, dtype=torch.float64)\n", "tensor(0.0049, dtype=torch.float64)\n", "tensor(0.0045, dtype=torch.float64)\n", "tensor(0.0040, dtype=torch.float64)\n", "tensor(0.0035, dtype=torch.float64)\n", "tensor(0.0031, dtype=torch.float64)\n", "tensor(0.0027, dtype=torch.float64)\n", "tensor(0.0023, dtype=torch.float64)\n", "tensor(0.0020, dtype=torch.float64)\n", "tensor(0.0018, dtype=torch.float64)\n", "tensor(0.0016, dtype=torch.float64)\n", "tensor(0.0015, dtype=torch.float64)\n", "tensor(0.0014, dtype=torch.float64)\n", "tensor(0.0014, dtype=torch.float64)\n", "tensor(0.0014, dtype=torch.float64)\n", "tensor(0.0014, dtype=torch.float64)\n", "tensor(0.0014, dtype=torch.float64)\n", "tensor(0.0014, dtype=torch.float64)\n", "tensor(0.0014, dtype=torch.float64)\n", "tensor(0.0013, dtype=torch.float64)\n", "tensor(0.0013, dtype=torch.float64)\n", "tensor(0.0012, dtype=torch.float64)\n", "tensor(0.0012, dtype=torch.float64)\n", "tensor(0.0011, dtype=torch.float64)\n", "tensor(0.0010, dtype=torch.float64)\n", "tensor(0.0009, dtype=torch.float64)\n", "tensor(0.0009, dtype=torch.float64)\n", "tensor(0.0008, dtype=torch.float64)\n", "tensor(0.0008, dtype=torch.float64)\n", "tensor(0.0008, dtype=torch.float64)\n", "tensor(0.0008, dtype=torch.float64)\n", "tensor(0.0008, dtype=torch.float64)\n", "tensor(0.0008, dtype=torch.float64)\n", "tensor(0.0008, dtype=torch.float64)\n", "tensor(0.0008, dtype=torch.float64)\n", "tensor(0.0008, dtype=torch.float64)\n", "tensor(0.0007, dtype=torch.float64)\n", "tensor(0.0007, dtype=torch.float64)\n", "tensor(0.0007, dtype=torch.float64)\n", "tensor(0.0007, dtype=torch.float64)\n", "tensor(0.0007, dtype=torch.float64)\n", "tensor(0.0006, dtype=torch.float64)\n", "tensor(0.0006, dtype=torch.float64)\n", "tensor(0.0006, dtype=torch.float64)\n", "tensor(0.0006, dtype=torch.float64)\n", "tensor(0.0006, dtype=torch.float64)\n", "tensor(0.0006, dtype=torch.float64)\n", "tensor(0.0006, dtype=torch.float64)\n" ] } ], "source": [ "# ML style correction (batched)\n", "\n", "# Set target twiss parameters\n", "\n", "twiss_error = twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True)\n", "\n", "# Set learning rate\n", "\n", "lr = 0.005\n", "\n", "# Define rings (Twiss parameters will be computed at each ring start)\n", "\n", "rings:list[Line] = []\n", "\n", "for i, _ in enumerate(ring):\n", " line = ring.clone()\n", " line.roll(i)\n", " rings.append(line)\n", "\n", "# Set batched function\n", "\n", "_, ((_, names, _), *_), _ = group(ring, 0, len(ring) - 1, ('kn', ['Quadrupole'], None, None))\n", "\n", "def task(Is, kn):\n", " result = []\n", " for I in Is:\n", " result.append(twiss(rings[I], [kn], ('kn', None, names, None), alignment=False, matched=True, convert=True))\n", " return torch.stack(result)\n", "\n", "# Set initial values\n", "\n", "kn = torch.zeros_like(error_kn)\n", "\n", "# Normalize objective\n", "\n", "task = normalize(task, [(None, None), (-0.5, 0.5)])\n", "\n", "# Normalize initial settings\n", "\n", "kn, *_ = forward([kn], [(-0.5, 0.5)])\n", "\n", "# Set model\n", "\n", "model = Wrapper(task, kn)\n", "\n", "# Set optimizer\n", "\n", "optimizer = AdEMAMix(model.parameters(), lr=lr)\n", "\n", "# Set features and labels \n", "\n", "X = torch.arange(len(ring))\n", "y = twiss_error.clone()\n", "\n", "# Set dataset\n", "# Note, full set is used here, batch size is too small otherwise\n", "\n", "batch_size = 16\n", "dataset = TensorDataset(X.clone(), y.clone())\n", "dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)\n", "\n", "# Set loss funtion\n", "\n", "lf = torch.nn.MSELoss()\n", "\n", "# Perfom optimization\n", "\n", "for epoch in range(64):\n", " for batch, (X, y) in enumerate(dataloader):\n", " y_hat = model(X)\n", " value = lf(y_hat, y)\n", " value.backward()\n", " optimizer.step()\n", " optimizer.zero_grad()\n", " with torch.no_grad():\n", " print(value.detach())" ] }, { "cell_type": "code", "execution_count": 24, "id": "1dcfc6d7-13fa-43fd-b632-ce7f26e4d287", "metadata": {}, "outputs": [], "source": [ "# Apply corrections\n", "\n", "kn, *_ = inverse([kn], [(-0.5, 0.5)])\n", "\n", "lattice:Line = error.clone()\n", "\n", "index = 0\n", "label = ''\n", "\n", "for line in lattice.sequence:\n", " for element in line:\n", " if element.__class__.__name__ == 'Quadrupole':\n", " if label != element.name:\n", " index +=1\n", " label = element.name\n", " element.kn = (element.kn - kn[index - 1]).item()" ] }, { "cell_type": "code", "execution_count": 25, "id": "61c51458-3e83-42d7-95fb-c5b8ae3ad7f3", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjUAAAC+CAYAAAB9JI0oAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACej0lEQVR4nO3dd3hb5fk+8FvDlvfMsLPjTFYICaMkpMwALbR0kEIZBhdIWgq0zBAoZRMSVgv9tk2gBFxaoIH2R6GFTKAhYWQHAplOnGVneE/Jks7vjzvHkrzt2Na6P9elSz6Sx7GOdMb7vM/zWAzDMCAiIiIiIiIiIiIiIhLirMFeARERERERERERERERkY5QUENERERERERERERERMKCghoiIiIiIiIiIiIiIhIWFNQQEREREREREREREZGwoKCGiIiIiIiIiIiIiIiEBQU1REREREREREREREQkLCioISIiIiIiIiIiIiIiYUFBDRERERERERERERERCQv2YK9AZ3i9Xhw4cADJycmwWCzBXh0REREREREREREREekGhmGgqqoKAwYMgNXaej5GWAU1Dhw4gMGDBwd7NUREREREREREREREpAfs3bsXgwYNavX5sApqJCcnA+A/lZKSEuS1ERERERERERERERGR7lBZWYnBgwc3xgFaE1ZBDbPkVEpKioIaIiIiIiIiIiIiIhJevF5g0yagpATIzATGjQPaKLUUjdprPRFWQQ0RERERERERERERkbC0YgXwzDPAli2A0wk4HMDYscCddwJTpgR77cKGQkAiIiIiIiIiIiIiIj1pxQrg1luBDRuAlBRg8GDeb9zIx1esCPYahg0FNUREREREREREREREeorXywyN8nJg2DAgJgYoLQUSE4GhQ4GKCuDZZ/l90i4FNUREREREREREREREesqmTSw51a8fgxlbtgD79zOYYbEAffsC33zD75N2qaeGiIiIiIiIiIiIiEhPKSkB6uqA6mqgpoaPJSYCcXH8Oi4OOHKE3yftUlBDRERERERERERERKQnGAazMEpKAKsVsNuBAQOYnWGqrwdiY4HMzOCtZxhRUENEREREREREREREpLsdOQI8/TTw2WfMxnC5gDFjfBkaAIMehw8D48cD48YFbVXDiXpqiIiIiIiIiIiIiIh0F8MAFi0Crr8e+PxzZmHccgswfDhQXMwSVB4P7wsL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Lbcw+HnPPcDvfsdSOl21bx9w992crX7iiew1YNewj0SwzExmZNTXs+zj2LG+flYAPwuxsfw+EYkoOqsWERERERHpblYrszPOP5/3CmiISFN9+jCwkZYGbN/OrAqXq2u/6/BhZnyUlbEUz+zZHOwViWRmL6vDh9k/xm73BTTUy0okounMWkREREREREQkGAYNAubOZYbGxo3MrjCbHndURQUzNA4e5O976ikgKaln1lcklKiXlUjU0qdaRERERERERCRYRo1iZkVsLLBqFYMShtGxn62tBWbO5ACumfmRnt6z6ysSStTLSiQqWQyjo0fK4KusrERqaioqKiqQYqaTiYiIiIiIiIiEu1WrgAceALxeYNo04Be/ACyW1r/f5WJT8PXrWXLn+efZfFwkGnm96mUlEgE6Ov6vT7eIiIiIiIiISLBNmsSsCwBYuBD4+99b/16Ph6Wq1q9n6aq5cxXQkOimXlYiUcUe7BUQEREREREREREAF17I0jn/93/ASy8xA+OSSwJnoJ90EoMYq1YBMTHA448DY8YEe81FRER6jcpPiYiIiIiIiIiEkr/8BXjtNTYBT0gAjhwBnE723XA4AJsNyMgAHn2UGR4iIiIRQOWnRERERERERETC0c9+Bpx4IrBtG7B2LYMYgwcDDQ18bPt2ZnAooCEiIlFIQQ0RERERERERkVBiGMDevYDdzsyMoiLeysqAuDhmb6xYwebIIiIiUUZBDRERERERERGRULJpE7BlCzBqFPtqGAZLUAFAdjYwbBjwzTf8PhERkSijoIaIiIiIiIiISCgpKWEPjfh4YPhwIDGRj/ftC2RlMVvD5eL3iYiIRBl7sFdARERERERERET8ZGay7FR9PQMaI0fy6/h4Pl9fz6bhmZnBXU8REZEgUKaGiIiIiIiIiEgoGTcOGDsWOHyYpacsFl9AwzD4+HHH8ftERESijIIaIiIiIiIiIiKhxGoF7rwTSE0FCguBmhrA4+F9YSEfv+MOfp+IiEiU0dFPRERERERERCTUTJkCvPACcPLJQGUlsG8f78eP5+NTpgR7DUVERIJCPTVERERERERERELRlCnA5MnApk1sCp6ZyZJTytAQEZEoFlZBDcMwAACVlZVBXhMRERERERERkV6Sk8MbAFRXB3ddREREeog57m/GAVoTVkGNqqoqAMDgwYODvCYiIiIiIiIiIiIi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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compute twiss and plot beta beating\n", "\n", "ax_model, bx_model, ay_model, by_model = twiss(ring, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "ax_error, bx_error, ay_error, by_error = twiss(error, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "ax_final, bx_final, ay_final, by_final = twiss(lattice, [], alignment=False, matched=True, advance=True, full=False, convert=True).T\n", "\n", "# Plot beta beating\n", "\n", "plt.figure(figsize=(16, 2))\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_error)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_error)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='o')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((bx_model - bx_final)/bx_model).cpu().numpy(), color='red', alpha=0.75, marker='x')\n", "plt.plot(ring.locations().cpu().numpy(), 100*((by_model - by_final)/by_model).cpu().numpy(), color='blue', alpha=0.75, marker='x')\n", "plt.xticks(ticks=positions, labels=['BPM05', 'BPM07', 'BPM08', 'BPM09', 'BPM10', 'BPM11', 'BPM12', 'BPM13', 'BPM14', 'BPM15', 'BPM16', 'BPM17', 'BPM01', 'BPM02', 'BPM03', 'BPM04'])\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 }