{ "cells": [ { "cell_type": "code", "execution_count": 12, "id": "b780b7af-aee0-4d92-b830-64e9b9d3c2f7", "metadata": {}, "outputs": [], "source": [ "%matplotlib ipympl\n", "import numpy as np\n", "import pandas as pd\n", "from numba import jit, vectorize, float64, types, int64\n", "import matplotlib.pyplot as plt\n", "from tqdm.notebook import trange, tqdm" ] }, { "cell_type": "code", "execution_count": 4, "id": "6fbf192f-aebc-4bce-ae38-339b5610fad1", "metadata": {}, "outputs": [], "source": [ "# Coupling formula\n", "mu_0 = 12.5663706127e-7\n", "h = 6.62607015e-34\n", "alpha_w = mu_0/4/np.pi * (1.1282407e7)**2 *(h/2/np.pi)**2\n", "gamma_ratio = 1.1282407/6.567400\n", "\n", "a = 5.26e-10 # In meters\n", "c = 11.35e-10 # In meters\n", "# Lattive parameters:\n", "lattice_x = np.array([a, 0, 0])\n", "lattice_y = np.array([0, a, 0])\n", "lattice_z = np.array([0, 0, c])\n", "\n", "lattice_s = np.array([[a, a, c]]) * np.array([\n", " [0.5,0.5,0],\n", " [0,0.5,0.25],\n", " [0,0,0.5],\n", " [0.5,0,0.75],\n", "])\n", "\n", "site_nb = lattice_s.shape[0]\n", "\n", "@vectorize([float64(int64, int64, int64, int64, int64)])\n", "def compute_coupling(x, y, z, a, b):\n", " vec = x*lattice_x + y*lattice_y + z*lattice_z + lattice_s[a] - lattice_s[b]\n", " norm = np.linalg.norm(vec)\n", " return alpha_w/norm**3*(1-3*vec[2]**2/norm**2)/h" ] }, { "cell_type": "code", "execution_count": null, "id": "3edfe357-627f-45e6-92e9-e2756f5a0f09", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "12579024-b280-4820-ae55-51a751c77015", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "8719ddbb-3348-48d2-b949-3221ca298b09", "metadata": {}, "source": [ "# State generation" ] }, { "cell_type": "code", "execution_count": 5, "id": "062e190f-1561-4f9f-8ffc-aca8e43db8f4", "metadata": {}, "outputs": [], "source": [ "def generate_lattice_sites(n, cell_number = 5):\n", " # TODO: Improve using random picking\n", " r = np.unique(np.random.randint([[cell_number, cell_number, cell_number, len(lattice_s)]], size=(n, 4)), axis = 0)\n", " np.random.shuffle(r)\n", " return r\n", "\n", "def add_noise(couplings, sigma):\n", " return np.max(0, couplings + np.random.normal(scale = sigma, size = couplings.shape))\n", "\n", "@jit\n", "def couplings(sites):\n", " n = sites.shape[0]\n", " couplings = np.full((n , n), np.nan)\n", " for i in range(sites.shape[0]-1):\n", " for j in range(i+1, sites.shape[0]):\n", " x = sites[i][0] - sites[j][0]\n", " y = sites[i][1] - sites[j][1]\n", " z = sites[i][2] - sites[j][2]\n", " couplings[i, j] = compute_coupling(x, y, z, sites[i][3], sites[j][3])\n", " return couplings" ] }, { "cell_type": "code", "execution_count": 6, "id": "3d1d36c3-1fc4-42e4-af71-8eda4fb34d86", "metadata": {}, "outputs": [], "source": [ "test_sites = generate_lattice_sites(1000, cell_number=2)" ] }, { "cell_type": "code", "execution_count": 7, "id": "ae4ecda6-14db-4e50-bfd2-affcd6153630", "metadata": {}, "outputs": [], "source": [ "test_couplings = couplings(test_sites)" ] }, { "cell_type": "code", "execution_count": 20, "id": "c3cec4e9-ed77-4c77-b851-1ac433bebc2f", "metadata": {}, "outputs": [], "source": [ "cell_sites = np.unique(np.array([\n", " [0,0,0,0],\n", " [0,0,0,1],\n", " [0,0,0,2],\n", " [0,0,0,3],\n", " [0,0,1,0],\n", " [1,0,0,1],\n", " [0,1,0,3],\n", " [1,0,0,2],\n", " [0,1,0,2],\n", " [1,1,0,2],\n", " \n", " [1,0,0,0],\n", " [1,0,0,1],\n", " [1,0,0,2],\n", " [1,0,0,3],\n", " [1,0,1,0],\n", " [2,0,0,1],\n", " [1,1,0,3],\n", " [2,0,0,2],\n", " [1,1,0,2],\n", " [2,1,0,2],\n", "]), axis=0)" ] }, { "cell_type": "code", "execution_count": 21, "id": "16267990-0eeb-4dd9-a199-e7105e9f23ba", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
012345678910111213141516
0NaN-2.264073-0.751332-0.525211-0.292242-0.751332-0.5252111.468056-2.264073-0.751332-0.198837-0.160386-0.751332-0.1988370.2379150.0098240.009824
1NaNNaN-2.264073-0.751332-0.525211-2.264073-0.7513320.2379151.4680560.3326620.009824-0.0838550.3326620.0098240.1835070.1225440.122544
2NaNNaNNaN-2.264073-0.7513321.4680560.3326620.0098240.3326621.4680560.2379150.0098240.5190360.1660010.1225440.1835070.131307
3NaNNaNNaNNaN-2.2640730.3326621.468056-0.198837-0.751332-2.2640731.4680560.3326620.3326620.5190360.0098240.2379150.166001
4NaNNaNNaNNaNNaN-0.751332-2.264073-0.160386-0.525211-0.7513320.3326621.468056-0.7513320.332662-0.0838550.0098240.009824
5NaNNaNNaNNaNNaNNaN-2.2640730.0098240.3326620.5190360.1660010.0098241.4680560.2379150.1225440.1313070.183507
6NaNNaNNaNNaNNaNNaNNaN-0.198837-0.7513320.3326620.5190360.332662-2.2640731.4680560.0098240.1660010.237915
7NaNNaNNaNNaNNaNNaNNaNNaN-2.264073-0.751332-0.525211-0.292242-0.751332-0.525211-2.264073-0.751332-0.751332
8NaNNaNNaNNaNNaNNaNNaNNaNNaN-2.264073-0.751332-0.525211-2.264073-0.7513321.4680560.3326620.332662
9NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-2.264073-0.7513321.4680560.3326620.3326621.4680560.519036
10NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-2.2640730.3326621.468056-0.751332-2.2640730.332662
11NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-0.751332-2.264073-0.525211-0.751332-0.751332
12NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-2.2640730.3326620.5190361.468056
13NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-0.7513320.332662-2.264073
14NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-2.264073-2.264073
15NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.468056
16NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 6 7 \\\n", "0 NaN -2.264073 -0.751332 -0.525211 -0.292242 -0.751332 -0.525211 1.468056 \n", "1 NaN NaN -2.264073 -0.751332 -0.525211 -2.264073 -0.751332 0.237915 \n", "2 NaN NaN NaN -2.264073 -0.751332 1.468056 0.332662 0.009824 \n", "3 NaN NaN NaN NaN -2.264073 0.332662 1.468056 -0.198837 \n", "4 NaN NaN NaN NaN NaN -0.751332 -2.264073 -0.160386 \n", "5 NaN NaN NaN NaN NaN NaN -2.264073 0.009824 \n", "6 NaN NaN NaN NaN NaN NaN NaN -0.198837 \n", "7 NaN NaN NaN NaN NaN NaN NaN NaN \n", "8 NaN NaN NaN NaN NaN NaN NaN NaN \n", "9 NaN NaN NaN NaN NaN NaN NaN NaN \n", "10 NaN NaN NaN NaN NaN NaN NaN NaN \n", "11 NaN NaN NaN NaN NaN NaN NaN NaN \n", "12 NaN NaN NaN NaN NaN NaN NaN NaN \n", "13 NaN NaN NaN NaN NaN NaN NaN NaN \n", "14 NaN NaN NaN NaN NaN NaN NaN NaN \n", "15 NaN NaN NaN NaN NaN NaN NaN NaN \n", "16 NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", " 8 9 10 11 12 13 14 \\\n", "0 -2.264073 -0.751332 -0.198837 -0.160386 -0.751332 -0.198837 0.237915 \n", "1 1.468056 0.332662 0.009824 -0.083855 0.332662 0.009824 0.183507 \n", "2 0.332662 1.468056 0.237915 0.009824 0.519036 0.166001 0.122544 \n", "3 -0.751332 -2.264073 1.468056 0.332662 0.332662 0.519036 0.009824 \n", "4 -0.525211 -0.751332 0.332662 1.468056 -0.751332 0.332662 -0.083855 \n", "5 0.332662 0.519036 0.166001 0.009824 1.468056 0.237915 0.122544 \n", "6 -0.751332 0.332662 0.519036 0.332662 -2.264073 1.468056 0.009824 \n", "7 -2.264073 -0.751332 -0.525211 -0.292242 -0.751332 -0.525211 -2.264073 \n", "8 NaN -2.264073 -0.751332 -0.525211 -2.264073 -0.751332 1.468056 \n", "9 NaN NaN -2.264073 -0.751332 1.468056 0.332662 0.332662 \n", "10 NaN NaN NaN -2.264073 0.332662 1.468056 -0.751332 \n", "11 NaN NaN NaN NaN -0.751332 -2.264073 -0.525211 \n", "12 NaN NaN NaN NaN NaN -2.264073 0.332662 \n", "13 NaN NaN NaN NaN NaN NaN -0.751332 \n", "14 NaN NaN NaN NaN NaN NaN NaN \n", "15 NaN NaN NaN NaN NaN NaN NaN \n", "16 NaN NaN NaN NaN NaN NaN NaN \n", "\n", " 15 16 \n", "0 0.009824 0.009824 \n", "1 0.122544 0.122544 \n", "2 0.183507 0.131307 \n", "3 0.237915 0.166001 \n", "4 0.009824 0.009824 \n", "5 0.131307 0.183507 \n", "6 0.166001 0.237915 \n", "7 -0.751332 -0.751332 \n", "8 0.332662 0.332662 \n", "9 1.468056 0.519036 \n", "10 -2.264073 0.332662 \n", "11 -0.751332 -0.751332 \n", "12 0.519036 1.468056 \n", "13 0.332662 -2.264073 \n", "14 -2.264073 -2.264073 \n", "15 NaN 1.468056 \n", "16 NaN NaN " ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "fa03334badd84437bf0555f57b276ddb", "version_major": 2, "version_minor": 0 }, "image/png": "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", "text/html": [ "\n", "
\n", "
\n", " Figure\n", "
\n", " \n", "
\n", " " ], "text/plain": [ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "ax = fig.add_subplot(projection='3d')\n", "\n", "\n", "positions = lattice_x[None,:]*cell_sites[:,0][:,None] + lattice_y[None,:] * cell_sites[:,1][:,None] + lattice_z[None,:] * cell_sites[:,2][:,None] + lattice_s[cell_sites[:,3]]\n", "\n", "ax.scatter(positions[:,0], positions[:,1], positions[:,2])\n", "\n", "for i in range(cell_sites.shape[0]):\n", " ax.text(positions[i,0], positions[i,1], positions[i,2], str(i), color=\"blue\")\n", "ax.set_xlabel('X Label')\n", "ax.set_ylabel('Y Label')\n", "ax.set_zlabel('Z Label')\n", "ax.axis('equal')\n", "\n", "pd.DataFrame(couplings(cell_sites))" ] }, { "cell_type": "markdown", "id": "311c7c64-84ed-45c2-9f49-5993c67bc21e", "metadata": {}, "source": [ "# State reconstruction" ] }, { "cell_type": "code", "execution_count": 6, "id": "daaa4792-069c-44fd-bdbd-90af6f51858f", "metadata": {}, "outputs": [], "source": [ "@jit\n", "def index_to_coord(index, max_distance, site_nb):\n", " center = max_distance // 2\n", " return (\n", " index // (max_distance**2 * site_nb**2) - center,\n", " index // (max_distance * site_nb**2) % max_distance - center,\n", " index // site_nb**2 % max_distance - center,\n", " index // site_nb % site_nb,\n", " index % site_nb\n", " ) \n", "\n", "@jit\n", "def coord_to_index(vec, max_distance, site_nb):\n", " center = max_distance // 2\n", " return site_nb**2 * ((vec[0] + center)*max_distance**2 + (vec[1] + center) * max_distance + (vec[2] + center)) + vec[3]*site_nb + vec[4]\n", "\n", "#@jit #(locals={'current_set': types.Set(types.UniTuple(float64, 3))})\n", "def vector_couplings(max_distance, site_nb, tolerance):\n", " print(\"Computing vector -> couplings lookup\")\n", " couplings = np.empty(max_distance**3*site_nb**2)\n", " for i in range(max_distance**3*site_nb**2):\n", " couplings[i] = compute_coupling(\n", " *index_to_coord(i, max_distance, site_nb)\n", " )\n", " # Revert the map\n", " print(\"Reverting the map\")\n", " coupling_values = [] # OK to append to that list because O(number_spins)\n", " current_set = set(((0,0,0,0,0),))\n", " current_set.pop() # HACK for type inference\n", " vectors = [] # OK to append because O(number_spins)\n", " sorted_couplings = np.argsort(couplings)\n", " # i_max = coupling index st coupling + tolerance < current cursor\n", " # i_min = coupling index st coupling - tolerance < current cursor\n", " i_min, i_max = 0,0\n", " while not np.isnan(couplings[sorted_couplings[i_max]]):\n", " if np.isnan(couplings[sorted_couplings[i_min]]) or couplings[sorted_couplings[i_min]] - tolerance > couplings[sorted_couplings[i_max]] + tolerance:\n", " # Depile du côté des maxima (ie on retire un vecteur au set)\n", " vec = index_to_coord(sorted_couplings[i_max], max_distance, site_nb)\n", " coupling_cursor = couplings[sorted_couplings[i_max]] + tolerance\n", " if len(coupling_values) == 0 or not np.isclose(coupling_values[-1], coupling_cursor, rtol = 1e-9, atol = tolerance * 1e-9):\n", " vectors.append(current_set.copy())\n", " coupling_values.append(coupling_cursor)\n", " current_set.remove(vec)\n", " i_max += 1\n", " else:\n", " # Empile du côté des minima (ie on ajoute un vecteur au set)\n", " vec = index_to_coord(sorted_couplings[i_min], max_distance, site_nb)\n", " coupling_cursor = couplings[sorted_couplings[i_min]] - tolerance\n", " if len(coupling_values) == 0 or not np.isclose(coupling_values[-1], coupling_cursor, rtol = 1e-9, atol = tolerance * 1e-9):\n", " vectors.append(current_set.copy())\n", " coupling_values.append(coupling_cursor)\n", " current_set.add(vec)\n", " i_min += 1\n", " vectors.append(current_set)\n", " print(\"Successfully reverted the map\")\n", " return np.array(coupling_values), vectors" ] }, { "cell_type": "code", "execution_count": 7, "id": "4a78bf20-e87b-4aeb-99f0-2bccc9dc4233", "metadata": {}, "outputs": [], "source": [ "@jit\n", "def cost_function(sites, couplings):\n", " couplings_theory = couplings(sites)\n", " cost = 0\n", " for i in range(sites.shape[0]-1):\n", " for j in range(i+1, sites.shape[0]):\n", " if np.isnan(couplings[i,j]):\n", " continue\n", " x = sites[i][0] - sites[j][0]\n", " y = sites[i][1] - sites[j][1]\n", " z = sites[i][2] - sites[j][2]\n", " cost += (couplings[i,j] - compute_coupling(x, y, z, sites[i][3], sites[j][3]))**2\n", " return cost\n", "\n", "@jit\n", "def exchange_columns(couplings, permutation, a, b):\n", " a, b = min(a, b), max(a, b)\n", " print(f\"Exchange {a}-{b}\")\n", " permutation[a], permutation[b] = permutation[b], permutation[a]\n", " for i in range(a):\n", " couplings[i, a], couplings[i, b] = couplings[i, b], couplings[i, a]\n", " for i in range(a+1, b):\n", " couplings[a, i], couplings[i, b] = couplings[i, b], couplings[a, i]\n", " for i in range(b+1, couplings.shape[0]): \n", " couplings[a, i], couplings[b, i] = couplings[b, i], couplings[a, i]\n", "\n", "@jit\n", "def set_placing_order(couplings):\n", " print(couplings.shape)\n", " n_tot = couplings.shape[0]\n", " permutation = np.arange(n_tot)\n", " m = np.nanmax(couplings[0,:])\n", " first = 0\n", " for i in range(1, n_tot):\n", " if np.nanmax(couplings[i,:])> m:\n", " m = np.nanmax(couplings[i,:])\n", " first = i\n", " exchange_columns(couplings, permutation, 0, first)\n", " for i in range(1, n_tot):\n", " next_index = np.argmax(couplings[:i,i:])%(n_tot-i) + i\n", " if next_index != i:\n", " exchange_columns(couplings, permutation, i, next_index)\n", " return couplings, permutation\n", "\n", "#@jit\n", "def compute_sites(couplings, lattice_size, site_nb, tolerance):\n", " print(\"Begin\")\n", " n_placed = 1\n", " n_tot = couplings.shape[0]\n", " couplings, permutation = set_placing_order(couplings)\n", " print(\"ordered spins\")\n", " couplings_vectors_tup = vector_couplings(tolerance = tolerance, max_distance = lattice_size*2, site_nb = site_nb)\n", " print(\"computed_lookup table\")\n", " possible_configurations = []\n", " for i in range(site_nb):\n", " c = np.zeros((n_tot, 4), dtype = np.int64)\n", " c[0][3] = i\n", " possible_configurations.append(c)\n", " \n", " current_couplings = np.empty(n_tot) # stores current coupling values to other spins\n", "\n", " print(\"Initialization successful\")\n", " while n_placed < n_tot:\n", " # First place them in order\n", " n_to_place = n_placed\n", "\n", " for i in range(n_tot):\n", " current_couplings[i] = couplings[n_to_place, i] if np.isnan(couplings[i, n_to_place]) else couplings[i, n_to_place]\n", " # Be careful, position relative to n_to_place-1\n", " candidates = couplings_vectors_tup[1][np.searchsorted(couplings_vectors_tup[0], current_couplings[n_to_place-1])]\n", " new_possible_configurations = []\n", " print(f\"Placing {n_placed}. {len(candidates)} for each one of the {len(possible_configurations)} cases to process.\")\n", "\n", " \n", " # TODO : switch code below to separate function using numba\n", " for config in tqdm(possible_configurations):\n", " for candidate in candidates:\n", " good_candidate = True\n", " # First check the origin lattice site\n", " if candidate[4] != config[n_to_place - 1][3]:\n", " continue\n", " for i in range(n_placed-1):\n", " if np.isnan(current_couplings[i]):\n", " # no data for this already placed spin\n", " continue\n", " x = candidate[0] + config[n_to_place-1][0] - config[i][0]\n", " y = candidate[1] + config[n_to_place-1][1] - config[i][1]\n", " z = candidate[2] + config[n_to_place-1][2] - config[i][2]\n", " a = candidate[3]\n", " b = config[i][3]\n", " if (x, y, z) == (0,0,0) and a == b:\n", " good_candidate = False\n", " break\n", " coupling_candidate = compute_coupling(\n", " x, y, z, a, b\n", " )\n", " if np.isnan(coupling_candidate) or np.abs(current_couplings[i] - coupling_candidate) > tolerance:\n", " good_candidate = False\n", " break\n", " if good_candidate:\n", " new_config = config.copy()\n", " new_config[n_to_place] = np.array((candidate[0] + config[n_to_place-1][0], candidate[1] + config[n_to_place-1][1], candidate[2] + config[n_to_place-1][2], candidate[3]))\n", " new_possible_configurations.append(new_config)\n", " possible_configurations = new_possible_configurations\n", " n_placed+=1\n", " return possible_configurations, permutation\n", "\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "c0d41788-d74c-41f1-8ff2-66f9b043c9fe", "metadata": {}, "outputs": [], "source": [ "def check_configuration(sites, original):\n", " \"\"\"\n", " Check if configurations are the same up to a translation\n", " \"\"\"\n", " x_sites = np.min(sites[:,0])\n", " x_original = np.min(original[:,0])\n", " y_sites = np.min(sites[:,1])\n", " y_original = np.min(original[:,1])\n", " z_sites = np.min(sites[:,2])\n", " z_original = np.min(original[:,2])\n", "\n", " # useless allocation here we could do it in place...\n", " sites = sites + np.array([[x_original - x_sites, y_original - y_sites, z_original - z_sites, 0]])\n", " sites = np.sort(sites, axis=0)\n", " original = np.sort(original, axis=0)\n", " return np.array_equal(sites, original)\n", "\n", " \n", " " ] }, { "cell_type": "markdown", "id": "dd8c7df0-8e86-4265-8ce2-686200c1a03d", "metadata": {}, "source": [ "### Load data" ] }, { "cell_type": "code", "execution_count": 41, "id": "3c915d57-342d-41a8-bd98-120011365eda", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
012345678
0NaN-1.10120.1511790.041231-0.1632040.3831010.383101-0.1047940.766202
1NaNNaN5.4120001.732000-8.9480000.0000002.3800000.0000000.000000
2NaNNaNNaN0.0000001.972000-1.612000-5.8680000.0000000.000000
3NaNNaNNaNNaN-0.6000000.000000-0.308000NaNNaN
4NaNNaNNaNNaNNaNNaNNaNNaNNaN
5NaNNaNNaNNaNNaNNaNNaNNaNNaN
6NaNNaNNaNNaNNaNNaNNaNNaNNaN
7NaNNaNNaNNaNNaNNaNNaNNaNNaN
8NaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 6 7 \\\n", "0 NaN -1.1012 0.151179 0.041231 -0.163204 0.383101 0.383101 -0.104794 \n", "1 NaN NaN 5.412000 1.732000 -8.948000 0.000000 2.380000 0.000000 \n", "2 NaN NaN NaN 0.000000 1.972000 -1.612000 -5.868000 0.000000 \n", "3 NaN NaN NaN NaN -0.600000 0.000000 -0.308000 NaN \n", "4 NaN NaN NaN NaN NaN NaN NaN NaN \n", "5 NaN NaN NaN NaN NaN NaN NaN NaN \n", "6 NaN NaN NaN NaN NaN NaN NaN NaN \n", "7 NaN NaN NaN NaN NaN NaN NaN NaN \n", "8 NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", " 8 \n", "0 0.766202 \n", "1 0.000000 \n", "2 0.000000 \n", "3 NaN \n", "4 NaN \n", "5 NaN \n", "6 NaN \n", "7 NaN \n", "8 NaN " ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw_data = np.genfromtxt(\"spin_couplings.csv\", delimiter=\",\", filling_values = np.nan)[1:,1:]\n", "\n", "renormalized_data = np.empty(raw_data.shape)\n", "\n", "\n", "renormalized_data[0] = gamma_ratio * raw_data[0]\n", "\n", "for i in range(1,renormalized_data.shape[0]):\n", " renormalized_data[i] = raw_data[i]*4\n", "\n", "\n", "pd.DataFrame(renormalized_data)" ] }, { "cell_type": "code", "execution_count": 42, "id": "ac6f38e8-2ddd-41d1-ad2a-a46351f66a53", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
012345678910111213141516
0NaN-2.264073-0.751332-0.525211-0.292242-0.751332-0.5252111.468056-2.264073-0.751332-0.198837-0.160386-0.751332-0.1988370.2379150.0098240.009824
1NaNNaN-2.264073-0.751332-0.525211-2.264073-0.7513320.2379151.4680560.3326620.009824-0.0838550.3326620.0098240.1835070.1225440.122544
2NaNNaNNaN-2.264073-0.7513321.4680560.3326620.0098240.3326621.4680560.2379150.0098240.5190360.1660010.1225440.1835070.131307
3NaNNaNNaNNaN-2.2640730.3326621.468056-0.198837-0.751332-2.2640731.4680560.3326620.3326620.5190360.0098240.2379150.166001
4NaNNaNNaNNaNNaN-0.751332-2.264073-0.160386-0.525211-0.7513320.3326621.468056-0.7513320.332662-0.0838550.0098240.009824
5NaNNaNNaNNaNNaNNaN-2.2640730.0098240.3326620.5190360.1660010.0098241.4680560.2379150.1225440.1313070.183507
6NaNNaNNaNNaNNaNNaNNaN-0.198837-0.7513320.3326620.5190360.332662-2.2640731.4680560.0098240.1660010.237915
7NaNNaNNaNNaNNaNNaNNaNNaN-2.264073-0.751332-0.525211-0.292242-0.751332-0.525211-2.264073-0.751332-0.751332
8NaNNaNNaNNaNNaNNaNNaNNaNNaN-2.264073-0.751332-0.525211-2.264073-0.7513321.4680560.3326620.332662
9NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-2.264073-0.7513321.4680560.3326620.3326621.4680560.519036
10NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-2.2640730.3326621.468056-0.751332-2.2640730.332662
11NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-0.751332-2.264073-0.525211-0.751332-0.751332
12NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-2.2640730.3326620.5190361.468056
13NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-0.7513320.332662-2.264073
14NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-2.264073-2.264073
15NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN1.468056
16NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 6 7 \\\n", "0 NaN -2.264073 -0.751332 -0.525211 -0.292242 -0.751332 -0.525211 1.468056 \n", "1 NaN NaN -2.264073 -0.751332 -0.525211 -2.264073 -0.751332 0.237915 \n", "2 NaN NaN NaN -2.264073 -0.751332 1.468056 0.332662 0.009824 \n", "3 NaN NaN NaN NaN -2.264073 0.332662 1.468056 -0.198837 \n", "4 NaN NaN NaN NaN NaN -0.751332 -2.264073 -0.160386 \n", "5 NaN NaN NaN NaN NaN NaN -2.264073 0.009824 \n", "6 NaN NaN NaN NaN NaN NaN NaN -0.198837 \n", "7 NaN NaN NaN NaN NaN NaN NaN NaN \n", "8 NaN NaN NaN NaN NaN NaN NaN NaN \n", "9 NaN NaN NaN NaN NaN NaN NaN NaN \n", "10 NaN NaN NaN NaN NaN NaN NaN NaN \n", "11 NaN NaN NaN NaN NaN NaN NaN NaN \n", "12 NaN NaN NaN NaN NaN NaN NaN NaN \n", "13 NaN NaN NaN NaN NaN NaN NaN NaN \n", "14 NaN NaN NaN NaN NaN NaN NaN NaN \n", "15 NaN NaN NaN NaN NaN NaN NaN NaN \n", "16 NaN NaN NaN NaN NaN NaN NaN NaN \n", "\n", " 8 9 10 11 12 13 14 \\\n", "0 -2.264073 -0.751332 -0.198837 -0.160386 -0.751332 -0.198837 0.237915 \n", "1 1.468056 0.332662 0.009824 -0.083855 0.332662 0.009824 0.183507 \n", "2 0.332662 1.468056 0.237915 0.009824 0.519036 0.166001 0.122544 \n", "3 -0.751332 -2.264073 1.468056 0.332662 0.332662 0.519036 0.009824 \n", "4 -0.525211 -0.751332 0.332662 1.468056 -0.751332 0.332662 -0.083855 \n", "5 0.332662 0.519036 0.166001 0.009824 1.468056 0.237915 0.122544 \n", "6 -0.751332 0.332662 0.519036 0.332662 -2.264073 1.468056 0.009824 \n", "7 -2.264073 -0.751332 -0.525211 -0.292242 -0.751332 -0.525211 -2.264073 \n", "8 NaN -2.264073 -0.751332 -0.525211 -2.264073 -0.751332 1.468056 \n", "9 NaN NaN -2.264073 -0.751332 1.468056 0.332662 0.332662 \n", "10 NaN NaN NaN -2.264073 0.332662 1.468056 -0.751332 \n", "11 NaN NaN NaN NaN -0.751332 -2.264073 -0.525211 \n", "12 NaN NaN NaN NaN NaN -2.264073 0.332662 \n", "13 NaN NaN NaN NaN NaN NaN -0.751332 \n", "14 NaN NaN NaN NaN NaN NaN NaN \n", "15 NaN NaN NaN NaN NaN NaN NaN \n", "16 NaN NaN NaN NaN NaN NaN NaN \n", "\n", " 15 16 \n", "0 0.009824 0.009824 \n", "1 0.122544 0.122544 \n", "2 0.183507 0.131307 \n", "3 0.237915 0.166001 \n", "4 0.009824 0.009824 \n", "5 0.131307 0.183507 \n", "6 0.166001 0.237915 \n", "7 -0.751332 -0.751332 \n", "8 0.332662 0.332662 \n", "9 1.468056 0.519036 \n", "10 -2.264073 0.332662 \n", "11 -0.751332 -0.751332 \n", "12 0.519036 1.468056 \n", "13 0.332662 -2.264073 \n", "14 -2.264073 -2.264073 \n", "15 NaN 1.468056 \n", "16 NaN NaN " ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "pd.DataFrame(couplings(cell_sites))" ] }, { "cell_type": "code", "execution_count": 47, "id": "200aeed8-d9d5-4bea-aa21-3bfe7f57500b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "fe8c362146f744ffbec83f25fc1168cc", "version_major": 2, "version_minor": 0 }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAJghJREFUeJzt3X+Y1XWd///HKDrIBqNCDJL80tzAZfuIkAhK5q6OmuaP3LJcaWuN5FOGwHapqK1cVvJJXWUNxSC13Mr8erma7bIofUtiAxQNzIjsKlG8hBHxxwxpgeL5/MEyH6cZEBQ4M75ut+s6l5z3eb/PPF/DOOfu+/ywplKpVAIAQDH2qPYAAADsXgIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwAhAAoDACEACgMAIQAKAwXao9QGf2+uuvZ/Xq1enevXtqamqqPQ4AsB0qlUrWr1+fvn37Zo89yjwXJgDfhtWrV6dfv37VHgMAeAuefvrpHHjggdUeoyoE4NvQvXv3JJt/gHr06FHlaQCA7dHc3Jx+/fq1PI6XSAC+DVue9u3Ro4cABIBOpuSXb5X5xDcAQMEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGE6TQDeeOONGTRoULp27Zrhw4dnwYIF29x//vz5GT58eLp27ZqDDjooN91001b3/cEPfpCampqcfvrpO3lqAICOp1ME4B133JGJEyfm0ksvzdKlSzNmzJicdNJJWbVqVbv7r1y5Mh/+8IczZsyYLF26NJdcckkmTJiQu+66q82+Tz31VL70pS9lzJgxu3oZAAAdQk2lUqlUe4g3M3LkyBx++OGZOXNmy7YhQ4bk9NNPz7Rp09rsf9FFF+Xee+/NihUrWraNHz8+jz76aBYtWtSybdOmTTnmmGPymc98JgsWLMhLL72Ue+65Z7vnam5uTl1dXZqamtKjR4+3tjgAYLfy+N0JzgBu3LgxjzzySBoaGlptb2hoyMKFC9s9ZtGiRW32P+GEE/Lwww/n1Vdfbdl2xRVX5N3vfnfOPffc7Zplw4YNaW5ubnUBAOhsOnwArlu3Lps2bUp9fX2r7fX19WlsbGz3mMbGxnb3f+2117Ju3bokyc9//vPcfPPNmT179nbPMm3atNTV1bVc+vXrt4OrAQCovg4fgFvU1NS0ul6pVNpse7P9t2xfv359zjnnnMyePTu9evXa7hmmTJmSpqamlsvTTz+9AysAAOgYulR7gDfTq1ev7Lnnnm3O9q1du7bNWb4t+vTp0+7+Xbp0Sc+ePbN8+fI8+eST+chHPtJy++uvv54k6dKlSx5//PEcfPDBbe63trY2tbW1b3dJAABV1eHPAO69994ZPnx45s2b12r7vHnzMnr06HaPGTVqVJv977///owYMSJ77bVXBg8enMceeyzLli1ruZx66qk59thjs2zZMk/tAgDvaB3+DGCSTJ48OWPHjs2IESMyatSozJo1K6tWrcr48eOTbH5q9plnnsltt92WZPM7fmfMmJHJkydn3LhxWbRoUW6++ebcfvvtSZKuXbtm6NChrb7GvvvumyRttgMAvNN0igA866yz8vzzz+eKK67ImjVrMnTo0MyZMycDBgxIkqxZs6bVZwIOGjQoc+bMyaRJk3LDDTekb9++uf7663PmmWdWawkAAB1Gp/gcwI7K5wgBQOfj8bsTvAYQAICdSwACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABSm0wTgjTfemEGDBqVr164ZPnx4FixYsM3958+fn+HDh6dr16456KCDctNNN7W6ffbs2RkzZkz222+/7LfffjnuuOPy0EMP7colAAB0CJ0iAO+4445MnDgxl156aZYuXZoxY8bkpJNOyqpVq9rdf+XKlfnwhz+cMWPGZOnSpbnkkksyYcKE3HXXXS37PPDAA/nkJz+Zn/70p1m0aFH69++fhoaGPPPMM7trWQAAVVFTqVQq1R7izYwcOTKHH354Zs6c2bJtyJAhOf300zNt2rQ2+1900UW59957s2LFipZt48ePz6OPPppFixa1+zU2bdqU/fbbLzNmzMinPvWp7Zqrubk5dXV1aWpqSo8ePXZwVQBANXj87gRnADdu3JhHHnkkDQ0NrbY3NDRk4cKF7R6zaNGiNvufcMIJefjhh/Pqq6+2e8wrr7ySV199Nfvvv/9WZ9mwYUOam5tbXQAAOpsOH4Dr1q3Lpk2bUl9f32p7fX19Ghsb2z2msbGx3f1fe+21rFu3rt1jLr744rznPe/Jcccdt9VZpk2blrq6upZLv379dnA1AADV1+EDcIuamppW1yuVSpttb7Z/e9uT5Kqrrsrtt9+ef//3f0/Xrl23ep9TpkxJU1NTy+Xpp5/ekSUAAHQIXao9wJvp1atX9txzzzZn+9auXdvmLN8Wffr0aXf/Ll26pGfPnq22X3PNNbnyyivz4x//OO9///u3OUttbW1qa2vfwioAADqODn8GcO+9987w4cMzb968VtvnzZuX0aNHt3vMqFGj2ux///33Z8SIEdlrr71atl199dX5yle+krlz52bEiBE7f3gAgA6owwdgkkyePDnf+ta3csstt2TFihWZNGlSVq1alfHjxyfZ/NTsG9+5O378+Dz11FOZPHlyVqxYkVtuuSU333xzvvSlL7Xsc9VVV+Wyyy7LLbfckoEDB6axsTGNjY35wx/+sNvXBwCwO3X4p4CT5Kyzzsrzzz+fK664ImvWrMnQoUMzZ86cDBgwIEmyZs2aVp8JOGjQoMyZMyeTJk3KDTfckL59++b666/PmWee2bLPjTfemI0bN+bv/u7vWn2tyy+/PFOnTt0t6wIAqIZO8TmAHZXPEQKAzsfjdyd5ChgAgJ1HAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFKZLtQfYXjfeeGOuvvrqrFmzJn/1V3+V6dOnZ8yYMVvdf/78+Zk8eXKWL1+evn375sILL8z48eNb7XPXXXfly1/+cn7/+9/n4IMPzte+9rWcccYZu3opb27jy8mVfTf/+ZLVyd5/Ud15SuP73+lN+O5DufdXzyVJTh367lx/zhFv/07f7s/FDhz/uW8vzv2/eT5J0jC4Z2Z9+shWxw/50y35Y7pm1jnD0jC0b8tx6154Pr2uPyhJsuSTj+VTty7Jiq7/2Oq+h/zplnx12B9y5ooJLdsO/9PM/KLr/25130lyzHv3y/zfvZj909Rye770uzy4tiZnzXowSXLH50Zm5EG93vJad8S1963I9T99Ikky4diDMvmEIdv/dd/KTH4XVI/v/S7XKc4A3nHHHZk4cWIuvfTSLF26NGPGjMlJJ52UVatWtbv/ypUr8+EPfzhjxozJ0qVLc8kll2TChAm56667WvZZtGhRzjrrrIwdOzaPPvpoxo4dm49//ON58MEHd9eyAACqolOcAbz22mtz7rnn5rOf/WySZPr06bnvvvsyc+bMTJs2rc3+N910U/r375/p06cnSYYMGZKHH34411xzTc4888yW+zj++OMzZcqUJMmUKVMyf/78TJ8+PbfffvvuWdif2/jy//zzlTdse8Of/RfQruX73+lN+O5DSZIlq5pati1Z1dSy/S2dCXy7Pxc7cPznvr04SfKLN8z/66eezfm3PJCXXnop3/2fbd2yIUnyqycbkyQv/6EpY/6yd5qamrPlXNzy3z2RvnmuzTgn5b+TJ//QatuxWdLy5y33nSS/e+rJ7J9k/zS3bLv4th/nfw35y+yfpryQuvx6zfqW20YeuM92r3VHXHvfiiTJwideaNm28IkXkv/ZPvnY/lv/uhtfSfbutmMz+V1QPb73u01NpVKpVHuIbdm4cWO6deuWO++8s9XTsxdccEGWLVuW+fPntznmgx/8YIYNG5Z//dd/bdl299135+Mf/3heeeWV7LXXXunfv38mTZqUSZMmtexz3XXXZfr06XnqqafanWXDhg3ZsOH//XJsbm5Ov3790tTUlB49erz9xU6te5Pbm7Z9O2+P73+nN/Di/9zm7U/+n5N3/E7f7s/FDhzf3vxPdj17m4cP/NP333SfXWXgn77f6vqbzvEW/x1607/Xt7P+9mbyu6B6dtP3vrm5OXV1dTvv8bsT6vBPAa9bty6bNm1KfX19q+319fVpbGxs95jGxsZ293/ttdeybt26be6ztftMkmnTpqWurq7l0q9fv7eyJACAquoUTwEnSU1NTavrlUqlzbY32//Pt+/ofU6ZMiWTJ09uub7lDOBOc8nqzf/c+EpyzXs3//lLv9v89AW7nu9/p3fq0Hcn2fy075rmjUmSA3rsnQ/0f5OzCtvydn8uduD4hsE9k2x+CnjdK68lSY6uuS2H9avb/BRw8z8kSYb/aWZeSW3GHT0oswb2yd1/WNzyFPDB3zksSfLtD/ww/7bgN/n/u17U6mtM/tM/5qj9/pAz//j/tWz7pz/9Y/6l6y2t7jtJ9t9rQ/746uangH/8P/dzce+b8r+G/GWuvu/xJMnlHzk0hx7QffMdHbhr/h2acOzmN7YsfOKFPPzUS0mSEQP2zeiD9t+8w7Hb+LpvfAp4e2fyu6B6fO93mw4fgL169cqee+7Z5szc2rVr25zB26JPnz7t7t+lS5f07Nlzm/ts7T6TpLa2NrW1tW9lGdunvdc27N3Nax52F9//Tm/La/ze+C7gD/Sve3vvAn67Pxc7cPysTx+ZpPW7gA8dUJ8ZLe8C3rzfK6nNH9M1Qwf2+Z93Afdtc19/9d6DsnrB8222/1eOzlED/5Cs+H8B+NN8IMktre47Sd474IDM/92LrY7/P586Lg+urckL2fz789ADurd9F/B2rHVHtLzb974VLQE4+qD9274LuL2v+1b+/vwuqB7f+92mwz8FvPfee2f48OGZN29eq+3z5s3L6NGj2z1m1KhRbfa///77M2LEiOy1117b3Gdr9wkA8E7R4d8Ekmz+GJixY8fmpptuyqhRozJr1qzMnj07y5cvz4ABAzJlypQ888wzue2225Js/hiYoUOH5rzzzsu4ceOyaNGijB8/PrfffnvLu4AXLlyYD37wg/na176W0047LT/84Q9z2WWX5b//+78zcuTI7ZrLi0gBoPPx+N0JngJOkrPOOivPP/98rrjiiqxZsyZDhw7NnDlzMmDAgCTJmjVrWn0m4KBBgzJnzpxMmjQpN9xwQ/r27Zvrr7++Jf6SZPTo0fnBD36Qyy67LF/+8pdz8MEH54477tju+AMA6Kw6xRnAjsp/QQBA5+PxuxO8BhAAgJ1LAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFEYAAgAURgACABRGAAIAFKbDB+CLL76YsWPHpq6uLnV1dRk7dmxeeumlbR5TqVQyderU9O3bN/vss08+9KEPZfny5S23v/DCC/niF7+Y973vfenWrVv69++fCRMmpKmpaRevBgCg+jp8AJ599tlZtmxZ5s6dm7lz52bZsmUZO3bsNo+56qqrcu2112bGjBlZsmRJ+vTpk+OPPz7r169PkqxevTqrV6/ONddck8ceeyzf/va3M3fu3Jx77rm7Y0kAAFVVU6lUKtUeYmtWrFiRQw89NIsXL87IkSOTJIsXL86oUaPym9/8Ju973/vaHFOpVNK3b99MnDgxF110UZJkw4YNqa+vz9e//vWcd9557X6tO++8M+ecc05efvnldOnSZbvma25uTl1dXZqamtKjR4+3uEoAYHfy+N3BzwAuWrQodXV1LfGXJEceeWTq6uqycOHCdo9ZuXJlGhsb09DQ0LKttrY2xxxzzFaPSdLyQ7C98QcA0Fl16NppbGxM796922zv3bt3Ghsbt3pMktTX17faXl9fn6eeeqrdY55//vl85Stf2erZwS02bNiQDRs2tFxvbm7e5v4AAB1RVc4ATp06NTU1Ndu8PPzww0mSmpqaNsdXKpV2t7/Rn9++tWOam5tz8skn59BDD83ll1++zfucNm1ay5tR6urq0q9fvzdbKgBAh1OVM4Dnn39+PvGJT2xzn4EDB+aXv/xlnn322Ta3Pffcc23O8G3Rp0+fJJvPBB5wwAEt29euXdvmmPXr1+fEE0/Mu971rtx9993Za6+9tjnTlClTMnny5Jbrzc3NIhAA6HSqEoC9evVKr1693nS/UaNGpampKQ899FCOOOKIJMmDDz6YpqamjB49ut1jBg0alD59+mTevHkZNmxYkmTjxo2ZP39+vv71r7fs19zcnBNOOCG1tbW5995707Vr1zedp7a2NrW1tduzRACADqtDvwlkyJAhOfHEEzNu3LgsXrw4ixcvzrhx43LKKae0egfw4MGDc/fddyfZ/NTvxIkTc+WVV+buu+/Or371q3z6059Ot27dcvbZZyfZfOavoaEhL7/8cm6++eY0NzensbExjY2N2bRpU1XWCgCwu3ToN4Ekyfe+971MmDCh5V29p556ambMmNFqn8cff7zVhzhfeOGF+eMf/5jPf/7zefHFFzNy5Mjcf//96d69e5LkkUceyYMPPpgkee9739vqvlauXJmBAwfuwhUBAFRXh/4cwI7O5wgBQOfj8buDPwUMAMDOJwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAAojAAEACiMAAQAKIwABAArT4QPwxRdfzNixY1NXV5e6urqMHTs2L7300jaPqVQqmTp1avr27Zt99tknH/rQh7J8+fKt7nvSSSelpqYm99xzz85fAABAB9PhA/Dss8/OsmXLMnfu3MydOzfLli3L2LFjt3nMVVddlWuvvTYzZszIkiVL0qdPnxx//PFZv359m32nT5+empqaXTU+AECH06XaA2zLihUrMnfu3CxevDgjR45MksyePTujRo3K448/nve9731tjqlUKpk+fXouvfTSfPSjH02SfOc730l9fX2+//3v57zzzmvZ99FHH821116bJUuW5IADDtg9iwIAqLIOfQZw0aJFqaura4m/JDnyyCNTV1eXhQsXtnvMypUr09jYmIaGhpZttbW1OeaYY1od88orr+STn/xkZsyYkT59+uy6RQAAdDAd+gxgY2Njevfu3WZ7796909jYuNVjkqS+vr7V9vr6+jz11FMt1ydNmpTRo0fntNNO2+55NmzYkA0bNrRcb25u3u5jAQA6iqqcAZw6dWpqamq2eXn44YeTpN3X51UqlTd93d6f3/7GY+6999785Cc/yfTp03do7mnTprW8GaWuri79+vXboeMBADqCqpwBPP/88/OJT3xim/sMHDgwv/zlL/Pss8+2ue25555rc4Zviy1P5zY2NrZ6Xd/atWtbjvnJT36S3//+99l3331bHXvmmWdmzJgxeeCBB9q97ylTpmTy5Mkt15ubm0UgANDpVCUAe/XqlV69er3pfqNGjUpTU1MeeuihHHHEEUmSBx98ME1NTRk9enS7xwwaNCh9+vTJvHnzMmzYsCTJxo0bM3/+/Hz9619Pklx88cX57Gc/2+q4v/7rv851112Xj3zkI1udp7a2NrW1tdu1RgCAjqpDvwZwyJAhOfHEEzNu3Lh885vfTJJ87nOfyymnnNLqHcCDBw/OtGnTcsYZZ6SmpiYTJ07MlVdemUMOOSSHHHJIrrzyynTr1i1nn312ks1nCdt740f//v0zaNCg3bM4AIAq6dABmCTf+973MmHChJZ39Z566qmZMWNGq30ef/zxNDU1tVy/8MIL88c//jGf//zn8+KLL2bkyJG5//7707179906OwBAR1RTqVQq1R6is2pubk5dXV2amprSo0ePao8DAGwHj98d/HMAAQDY+QQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYQQgAEBhBCAAQGEEIABAYbpUe4DOrFKpJEmam5urPAkAsL22PG5veRwvkQB8G9avX58k6devX5UnAQB21Pr161NXV1ftMaqiplJy/r5Nr7/+elavXp3u3bunpqam2uO8bc3NzenXr1+efvrp9OjRo9rj7FbWbu3WXoZS151Y+xvXXqlUsn79+vTt2zd77FHmq+GcAXwb9thjjxx44IHVHmOn69GjR3G/HLawdmsvTalrL3XdibVvWXupZ/62KDN7AQAKJgABAAojAGlRW1ubyy+/PLW1tdUeZbezdmsvTalrL3XdibWXuvat8SYQAIDCOAMIAFAYAQgAUBgBCABQGAEIAFAYAchW/fa3v81pp52WXr16pUePHjnqqKPy05/+tNpj7Rb/+Z//mZEjR2afffZJr1698tGPfrTaI+1WGzZsyGGHHZaamposW7as2uPsck8++WTOPffcDBo0KPvss08OPvjgXH755dm4cWO1R9slbrzxxgwaNChdu3bN8OHDs2DBgmqPtMtNmzYtH/jAB9K9e/f07t07p59+eh5//PFqj7XbTZs2LTU1NZk4cWK1R9ktnnnmmZxzzjnp2bNnunXrlsMOOyyPPPJItcfqEAQgW3XyySfntddey09+8pM88sgjOeyww3LKKaeksbGx2qPtUnfddVfGjh2bz3zmM3n00Ufz85//PGeffXa1x9qtLrzwwvTt27faY+w2v/nNb/L666/nm9/8ZpYvX57rrrsuN910Uy655JJqj7bT3XHHHZk4cWIuvfTSLF26NGPGjMlJJ52UVatWVXu0XWr+/Pn5whe+kMWLF2fevHl57bXX0tDQkJdffrnao+02S5YsyaxZs/L+97+/2qPsFi+++GKOOuqo7LXXXvmv//qv/PrXv86//Mu/ZN999632aB1DBdrx3HPPVZJUfvazn7Vsa25uriSp/PjHP67iZLvWq6++WnnPe95T+da3vlXtUapmzpw5lcGDB1eWL19eSVJZunRptUeqiquuuqoyaNCgao+x0x1xxBGV8ePHt9o2ePDgysUXX1yliapj7dq1lSSV+fPnV3uU3WL9+vWVQw45pDJv3rzKMcccU7nggguqPdIud9FFF1WOPvroao/RYTkDSLt69uyZIUOG5LbbbsvLL7+c1157Ld/85jdTX1+f4cOHV3u8XeYXv/hFnnnmmeyxxx4ZNmxYDjjggJx00klZvnx5tUfbLZ599tmMGzcu//Zv/5Zu3bpVe5yqampqyv7771/tMXaqjRs35pFHHklDQ0Or7Q0NDVm4cGGVpqqOpqamJHnH/R1vzRe+8IWcfPLJOe6446o9ym5z7733ZsSIEfnYxz6W3r17Z9iwYZk9e3a1x+owBCDtqqmpybx587J06dJ07949Xbt2zXXXXZe5c+e+o0+fP/HEE0mSqVOn5rLLLst//Md/ZL/99ssxxxyTF154ocrT7VqVSiWf/vSnM378+IwYMaLa41TV73//+3zjG9/I+PHjqz3KTrVu3bps2rQp9fX1rbbX19e/41/a8UaVSiWTJ0/O0UcfnaFDh1Z7nF3uBz/4QX7xi19k2rRp1R5lt3riiScyc+bMHHLIIbnvvvsyfvz4TJgwIbfddlu1R+sQBGBhpk6dmpqamm1eHn744VQqlXz+859P7969s2DBgjz00EM57bTTcsopp2TNmjXVXsYO2951v/7660mSSy+9NGeeeWaGDx+eW2+9NTU1NbnzzjurvIq3ZnvX/o1vfCPNzc2ZMmVKtUfeabZ37W+0evXqnHjiifnYxz6Wz372s1WafNeqqalpdb1SqbTZ9k52/vnn55e//GVuv/32ao+yyz399NO54IIL8t3vfjddu3at9ji71euvv57DDz88V155ZYYNG5bzzjsv48aNy8yZM6s9WofgfwVXmHXr1mXdunXb3GfgwIH5+c9/noaGhrz44ovp0aNHy22HHHJIzj333Fx88cW7etSdanvXvWjRovzN3/xNFixYkKOPPrrltpEjR+a4447L1772tV096k63vWv/xCc+kR/96EetQmDTpk3Zc8898/d///f5zne+s6tH3em2d+1bHhhXr16dY489NiNHjsy3v/3t7LHHO+u/kTdu3Jhu3brlzjvvzBlnnNGy/YILLsiyZcsyf/78Kk63e3zxi1/MPffck5/97GcZNGhQtcfZ5e65556cccYZ2XPPPVu2bdq0KTU1Ndljjz2yYcOGVre9kwwYMCDHH398vvWtb7VsmzlzZr761a/mmWeeqeJkHUOXag/A7tWrV6/06tXrTfd75ZVXkqTNA+Aee+zRcpasM9nedQ8fPjy1tbV5/PHHWwLw1VdfzZNPPpkBAwbs6jF3ie1d+/XXX5+vfvWrLddXr16dE044IXfccUdGjhy5K0fcZbZ37cnmj4s49thjW876vtPiL0n23nvvDB8+PPPmzWsVgPPmzctpp51Wxcl2vUqlki9+8Yu5++6788ADDxQRf0nyt3/7t3nsscdabfvMZz6TwYMH56KLLnrHxl+SHHXUUW0+6ue3v/1tp/1dvrMJQNo1atSo7LfffvmHf/iH/PM//3P22WefzJ49OytXrszJJ59c7fF2mR49emT8+PG5/PLL069fvwwYMCBXX311kuRjH/tYlafbtfr379/q+rve9a4kycEHH5wDDzywGiPtNqtXr86HPvSh9O/fP9dcc02ee+65ltv69OlTxcl2vsmTJ2fs2LEZMWJERo0alVmzZmXVqlXvuNc7/rkvfOEL+f73v58f/vCH6d69e8trHuvq6rLPPvtUebpdp3v37m1e5/gXf/EX6dmz5zv+9Y+TJk3K6NGjc+WVV+bjH/94HnroocyaNSuzZs2q9mgdQxXfgUwHt2TJkkpDQ0Nl//33r3Tv3r1y5JFHVubMmVPtsXa5jRs3Vv7pn/6p0rt370r37t0rxx13XOVXv/pVtcfa7VauXFnMx8DceuutlSTtXt6JbrjhhsqAAQMqe++9d+Xwww8v4qNQtvb3e+utt1Z7tN2ulI+BqVQqlR/96EeVoUOHVmprayuDBw+uzJo1q9ojdRheAwgAUJh33otcAADYJgEIAFAYAQgAUBgBCABQGAEIAFAYAQgAUBgBCABQGAEIAFAYAQgAUBgBCABQGAEIAFAYAQgAUBgBCABQGAEIAFAYAQgAUBgBCABQGAEIAFAYAQgAUBgBCABQGAEIAFAYAQgAUBgBCABQGAEIAFAYAQgAUBgBCABQGAEIAFAYAQgAUBgBCABQGAEIAFAYAQgAUBgBCABQmP8LCD9p7+m/5MkAAAAASUVORK5CYII=", "text/html": [ "\n", "
\n", "
\n", " Figure\n", "
\n", " \n", "
\n", " " ], "text/plain": [ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "c = couplings(cell_sites)\n", "\n", "data = c[~np.isnan(c)]\n", "\n", "ax.scatter(data, np.zeros(data.shape), marker = \"+\")\n", "\n", "c = renormalized_data[:,:]\n", "\n", "data = c[~np.isnan(c)]\n", "ax.scatter(data, np.zeros(data.shape), marker = \"+\")" ] }, { "cell_type": "markdown", "id": "7fe2c715-fc96-4b36-b209-f288f8ab1d2e", "metadata": {}, "source": [ "### Compute" ] }, { "cell_type": "code", "execution_count": 11, "id": "9d186b15-36cf-4aff-9287-381e31424afb", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Begin\n", "(9, 9)\n", "Exchange 0-0\n", "ordered spins\n", "Computing vector -> couplings lookup\n", "Reverting the map\n", "Successfully reverted the map\n", "computed_lookup table\n", "Initialization successful\n", "Placing 1. 0 for each one of the 4 cases to process.\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7aba081fca004df9afc3404195a5354a", "version_major": 2, "version_minor": 0 }, "text/plain": [ " 0%| | 0/4 [00:00\n", "
\n", " Figure\n", "
\n", " \n", " \n", " " ], "text/plain": [ "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "ax = fig.add_subplot(projection='3d')\n", "\n", "permutation_inv = invert_permutation(permutation)\n", "\n", "positions = lattice_x[None,:]*test_sites[:,0][:,None] + lattice_y[None,:] * test_sites[:,1][:,None] + lattice_z[None,:] * test_sites[:,2][:,None] + lattice_s[test_sites[:,3]]\n", "\n", "ax.scatter(positions[:,0], positions[:,1], positions[:,2])\n", "\"\"\"\n", "ax.plot(positions[permutation,0], positions[permutation,1], positions[permutation,2])\n", "\n", "for i in range(test_sites.shape[0]):\n", " ax.text(positions[i,0], positions[i,1], positions[i,2], str(i), color=\"blue\")\n", "\n", "\n", "sites = final_sites[f]\n", "\n", "x_sites = np.min(sites[:,0])\n", "x_original = np.min(test_sites[:,0])\n", "y_sites = np.min(sites[:,1])\n", "y_original = np.min(test_sites[:,1])\n", "z_sites = np.min(sites[:,2])\n", "z_original = np.min(test_sites[:,2])\n", "\n", "sites = sites + np.array([[x_original - x_sites, y_original - y_sites, z_original - z_sites, 0]])\n", "\n", "positions = lattice_x[None,:]*sites[:,0][:,None] + lattice_y[None,:] * sites[:,1][:,None] + lattice_z[None,:] * sites[:,2][:,None] + lattice_s[sites[:,3]]\n", "\n", "ax.scatter(positions[:,0], positions[:,1], positions[:,2])\n", "\n", "\n", "for i in range(test_sites.shape[0]):\n", " ax.text(positions[permutation_inv[i],0], positions[permutation_inv[i],1], positions[permutation_inv[i],2], str(i), color=\"orange\")\n", "\"\"\"\n", "ax.set_xlabel('X Label')\n", "ax.set_ylabel('Y Label')\n", "ax.set_zlabel('Z Label')\n", "ax.axis('equal')\n" ] }, { "cell_type": "code", "execution_count": 44, "id": "7a904af3-06ae-4e1c-b282-9526dea314bd", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([ 0, 8, 29, 17, 21, 28, 6, 16, 9, 3, 19, 1, 13, 24, 14, 18, 22,\n", " 26, 2, 30, 4, 23, 10, 31, 27, 20, 5, 15, 11, 12, 7, 25])" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "permutation" ] }, { "cell_type": "code", "execution_count": null, "id": "7537e392-4c17-490c-8ec4-c1d147fa3e24", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.9" } }, "nbformat": 4, "nbformat_minor": 5 }