{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def convert_to_hms(t):\n",
    "    hours=t//3600\n",
    "    minutes=(t-3600*hours)//60\n",
    "    seconds=(t-3600*hours-60*minutes)\n",
    "    return [hours,minutes,seconds]\n",
    "\n",
    "load(\"decomposition_routines.sage\")\n",
    "load(\"generation_routines.sage\")\n",
    "import time\n",
    "\n",
    "# Simple roots of E10 in Wall basis\n",
    "a1=vector([1,-1,0,0,0,0,0,0,0,0],sparse=True)\n",
    "a2=vector([-1,-1,-1,0,0,0,0,0,0,0],sparse=True)\n",
    "a3=vector([0,1,-1,0,0,0,0,0,0,0],sparse=True)\n",
    "a4=vector([0,0,1,-1,0,0,0,0,0,0],sparse=True)\n",
    "a5=vector([0,0,0,1,-1,0,0,0,0,0],sparse=True)\n",
    "a6=vector([0,0,0,0,1,-1,0,0,0,0],sparse=True)\n",
    "a7=vector([0,0,0,0,0,1,-1,0,0,0],sparse=True)\n",
    "a8=vector([0,0,0,0,0,0,1,-1,0,0],sparse=True)\n",
    "a9=vector([0,0,0,0,0,0,0,1,-1,0],sparse=True)\n",
    "a10=vector([0,0,0,0,0,0,0,0,1,-1],sparse=True)\n",
    "SimRoots=[a1,a2,a3,a4,a5,a6,a7,a8,a9,a10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Reading in the matrices from S32_matrices/\n",
      "Reading in matrices finished after 1.5454590320587158 seconds.\n",
      "\n",
      "Proceed with guessing a highest weight vector and verifying that it is primitive:\n",
      "The vector new_germ has weight (3/2, 1/2, 1/2, 1/2, 1/2) and the norms of E_i*new_germ are:\n",
      "0 0 0 0 0 \n",
      "Computing the weight space bases for the module of highest weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Done! Took 0.4106457233428955 seconds.\n",
      "Determine the orbit under X10 of the first module:\n",
      "Currently evaluating module of highest weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Found a new germ which yields highest weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Found a new germ which yields highest weight (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently evaluating module of highest weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Found a new germ which yields highest weight (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently evaluating module of highest weight (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently evaluating module of highest weight (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Done! Found the following highest weight modules in the first orbit of X10:\n",
      "Module 1 has highest weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Module 2 has highest weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Module 3 has highest weight (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Module 4 has highest weight (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "The entire computation took 25.653508186340332 seconds.\n",
      "Saved all modules in 0.2913970947265625 seconds.\n"
     ]
    }
   ],
   "source": [
    "# Need the representation matrices and a highest weight vector of S3/2:\n",
    "matrix_path=\"S32_matrices/\"  # where one can find the matrices\n",
    "directory=\"S32_modules/\"     # Where one wants to store the modules\n",
    "print(\"Reading in the matrices from\",matrix_path)\n",
    "start=time.time()\n",
    "Bermans_32=read_in_SR(path=matrix_path,name=\"X\",number=10,silent=True)\n",
    "E_ladder_32=read_in_SR(path=matrix_path,name=\"E\",number=5,silent=True)\n",
    "F_ladder_32=read_in_SR(path=matrix_path,name=\"F\",number=5,silent=True)\n",
    "H_orth_32=read_in_SR(path=matrix_path,name=\"H\",number=5,silent=True)\n",
    "end=time.time()\n",
    "print(\"Reading in matrices finished after\",end-start,\"seconds.\")\n",
    "print(\"\")\n",
    "print(\"Proceed with guessing a highest weight vector and verifying that it is primitive:\")\n",
    "# Finding a highets weight vector with a little trial and error based on analyitc insight. I\n",
    "# In a longer list of weights I would read in the weight space basis of the S1/2-module \n",
    "# and choose the correct weight from that list but here this is not necessary.\n",
    "\n",
    "w=vector(SR,32,{21:1},sparse=True)\n",
    "new_germ=vec_tensor(SimRoots[0],w)\n",
    "Lambda=det_weight_v2(new_germ,H_orth_32)\n",
    "print(\"The vector new_germ has weight\",Lambda,\"and the norms of E_i*new_germ are:\")\n",
    "for e in E_ladder_32:\n",
    "    t=e*new_germ\n",
    "    print(dot_sparse(t,t),end=\" \")\n",
    "print(\"\")\n",
    "print (\"Computing the weight space bases for the module of highest weight\",Lambda)\n",
    "start = time.time()\n",
    "b=weights_and_vectors(highest_weight=Lambda,highest_vector=new_germ,F_ladder=F_ladder_32)\n",
    "initial_module=[Lambda,b]\n",
    "end = time.time()\n",
    "print(\"Done! Took\",end-start,\"seconds.\")\n",
    "\n",
    "X=IBermans_32[1]\n",
    "new_modules=[initial_module.copy()]\n",
    "\n",
    "start=time.time()\n",
    "print(\"Determine the orbit under X10 of the first module:\")\n",
    "for module in new_modules:\n",
    "    print (\"Currently evaluating module of highest weight\",module[0])\n",
    "    for weight in module[1]:          # Loop over the weights of the basis\n",
    "        \n",
    "        pos_weights=possible_weights(weight)        \n",
    "        basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "        k=len(basis)\n",
    "        if k>1:\n",
    "            basis=orthogonalize_v2(basis)        \n",
    "        \n",
    "        \n",
    "        for v in module[1][weight]:   # Access the vectors of this weight\n",
    "            image=X*v                 # Compute image\n",
    "            n=1\n",
    "            \n",
    "            while n!=0:\n",
    "                new_v=project_away(image,basis)\n",
    "                n=dot_sparse(new_v,new_v)\n",
    "                if n!=0:\n",
    "                    prim=find_primitive(E_ladder_32,new_v)\n",
    "                    new_weight=det_weight_v2(prim,H_orth_32)\n",
    "                    print (\"Found a new germ which yields highest weight\",new_weight)\n",
    "                        \n",
    "                    \n",
    "                    new_mod=[new_weight,weights_and_vectors(highest_weight=new_weight,\n",
    "                                                        highest_vector=prim,\n",
    "                                                        F_ladder=F_ladder_32)]\n",
    "                    new_modules.append(new_mod)\n",
    "                    \n",
    "                    pos_weights=possible_weights(weight)\n",
    "                    \n",
    "                    basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "                    k=len(basis)\n",
    "                    \n",
    "                    \n",
    "                    if k>1:\n",
    "                        basis=orthogonalize_v2(basis)        \n",
    "                    \n",
    "        \n",
    "print (\"Done! Found the following highest weight modules in the first orbit of X10:\")\n",
    "i=1\n",
    "for module in new_modules:\n",
    "    print (\"Module\",i, \"has highest weight\",module[0])\n",
    "    i=i+1\n",
    "end=time.time()\n",
    "print(\"The entire computation took\",end-start,\"seconds.\")\n",
    "\n",
    "i=0\n",
    "try:\n",
    "    os.makedirs(directory)\n",
    "except os.error as error:\n",
    "    print(directory,\"already exists\")\n",
    "start=time.time()\n",
    "for module in new_modules:\n",
    "    path=directory+\"module\"+str(i)\n",
    "    save(module,path)\n",
    "    try: \n",
    "        os.makedirs(path+r\"/\")\n",
    "    except os.error as error:\n",
    "        pass\n",
    "    write_module_to_dir(Mod=module,Path=path+r\"/\")\n",
    "    i=i+1\n",
    "\n",
    "end=time.time()\n",
    "print(\"Saved all modules in\",end-start,\"seconds.\")\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Currently checking modules 0  and 1 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 0  and 2 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 0  and 3 \n",
      "No overlap found between modules 0  and 3 \n",
      "Currently checking modules 1  and 0 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 1  and 2 \n",
      "No overlap found between modules 1  and 2 \n",
      "Currently checking modules 1  and 3 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 2  and 0 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 2  and 1 \n",
      "No overlap found between modules 2  and 1 \n",
      "Currently checking modules 2  and 3 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 3  and 0 \n",
      "No overlap found between modules 3  and 0 \n",
      "Currently checking modules 3  and 1 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 3  and 2 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, -1/2, 1/2, 1/2, -1/2)\n",
      "\n",
      "Found the following adjacency matrix for the orbit:\n",
      "[0 1 1 0]\n",
      "[1 0 0 1]\n",
      "[1 0 0 1]\n",
      "[0 1 1 0]\n",
      "Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module: True\n",
      "\n",
      "Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\n",
      "Checking modules 0 and 1 for orthogonality\n",
      "Checking modules 0 and 2 for orthogonality\n",
      "Checking modules 0 and 3 for orthogonality\n",
      "Checking modules 1 and 2 for orthogonality\n",
      "Checking modules 1 and 3 for orthogonality\n",
      "Checking modules 2 and 3 for orthogonality\n",
      "[0 1 1 1]\n",
      "[1 0 1 1]\n",
      "[1 1 0 1]\n",
      "[1 1 1 0]\n"
     ]
    }
   ],
   "source": [
    "# Computing which modules are mixed under X10\n",
    "L=len(new_modules)\n",
    "A_adj=list(0*identity_matrix(L))\n",
    "for i in range(L):\n",
    "    for j in range(L):\n",
    "        if i!=j:\n",
    "            print (\"\\rCurrently checking modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "            b=check_modules(module1=new_modules[i],module2=new_modules[j],A_mat=X)\n",
    "            A_adj[i][j]=b\n",
    "            if b==0:\n",
    "                print(\"No overlap found between modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "\n",
    "print(\"\")\n",
    "print(\"Found the following adjacency matrix for the orbit:\")\n",
    "print(matrix(A_adj))\n",
    "\n",
    "connections=matrix([orbit(incidence=A_adj,L=L,start=i) for i in range(L)])\n",
    "full=list(range(L))\n",
    "b=True\n",
    "for i in range(L):\n",
    "    if list(connections[i])==full:\n",
    "        b=b and True\n",
    "    else:\n",
    "        b=b and False\n",
    "print(\"Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module:\",b)\n",
    "print(\"\")\n",
    "print(\"Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\")\n",
    "\n",
    "A_orth=[[False for i in range(L)] for j in range(L) ]\n",
    "\n",
    "for i in range(L):\n",
    "    for j in range(i+1,L):\n",
    "        print(\"Checking modules\",i,\"and\",j,\"for orthogonality\")\n",
    "        t=orthogonal_modules_Q(new_modules[i],new_modules[j])\n",
    "        A_orth[i][j]=t\n",
    "        A_orth[j][i]=t\n",
    "        \n",
    "print(matrix(A_orth))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Read in all representation matrices.\n",
      "Determining primitive vectors... Done, took 88.5629403591156 seconds to terminate.\n",
      "Computing highest weight vectors from the primitive ones by projecting to subspace... Done\n",
      "Took 19.8742413520813 seconds to terminate.\n",
      "Computing the weight space bases for every so_10_module\n",
      "Computing the basis for the module of weight  (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Computing the basis for the module of weight  (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Computing the basis for the module of weight  (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Computing the basis for the module of weight  (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Computing the basis for the module of weight  (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Computing the basis for the module of weight  (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Computing the basis for the module of weight  (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Computing the basis for the module of weight  (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Computing the basis for the module of weight  (3/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Computing the basis for the module of weight  (3/2, 3/2, 1/2, 1/2, 1/2)\n",
      "module  0 has weight (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "module  1 has weight (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "module  2 has weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "module  3 has weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "module  4 has weight (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "module  5 has weight (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "module  6 has weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "module  7 has weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "module  8 has weight (3/2, 3/2, 1/2, 1/2, -1/2)\n",
      "module  9 has weight (3/2, 3/2, 1/2, 1/2, 1/2)\n"
     ]
    }
   ],
   "source": [
    "# Read in the representation matrices of S5/2:\n",
    "path5_2=\"S52_matrices/\"\n",
    "directory=\"S52_modules/\"\n",
    "Bermans=read_in_SR(path=path5_2,name=\"X\",number=10,silent=True)\n",
    "E_ladder=read_in_SR(path=path5_2,name=\"E\",number=5,silent=True)\n",
    "F_ladder=read_in_SR(path=path5_2,name=\"F\",number=5,silent=True)\n",
    "H_orth=read_in_SR(path=path5_2,name=\"H\",number=5,silent=True)\n",
    "end_overall=time.time()\n",
    "print (\"Read in all representation matrices.\")\n",
    "\n",
    "# Now pursue variant 1 for finding the modules as it is very educational:\n",
    "load(\"dense_decomposition_routines.sage\")\n",
    "print (\"Determining primitive vectors...\",end=\" \")\n",
    "start = time.time()\n",
    "prims=get_primitives(E_ladder)\n",
    "end=time.time()\n",
    "print (\"Done, took\", end-start, \"seconds to terminate.\")\n",
    "\n",
    "print (\"Computing highest weight vectors from the primitive ones by projecting to subspace...\",\n",
    "       end=\" \")\n",
    "start = time.time()\n",
    "HVs=get_HWVs(H_orth,prims,silent=True)\n",
    "HWVs=[[v,det_weight(v,H_orth)] for v in HVs ]\n",
    "end=time.time()\n",
    "print(\"Done\")\n",
    "print (\"Took\", end-start, \"seconds to terminate.\")\n",
    "\n",
    "print (\"Computing the weight space bases for every so_10_module\")\n",
    "so_10_modules=[]\n",
    "\n",
    "for v in HWVs:\n",
    "    print (\"Computing the basis for the module of weight \", v[1])\n",
    "    start = time.time()\n",
    "    b=weights_and_vectors(highest_weight=v[1],highest_vector=v[0],F_ladder=F_ladder)\n",
    "    so_10_modules.append([v[1],b])\n",
    "    end = time.time()\n",
    "    #print (\"Needed\",end-start, \"second to compute this irrep.\")\n",
    "    \n",
    "i=0\n",
    "for module in so_10_modules:\n",
    "    print (\"module \",i,\"has weight\",module[0])\n",
    "    i=i+1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Currently checking modules 0  and 1 \n",
      "No overlap found between modules 0  and 1 \n",
      "Currently checking modules 0  and 2 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 0  and 3 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 0  and 4 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 0  and 5 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 0  and 6 \n",
      "No overlap found between modules 0  and 6 \n",
      "Currently checking modules 0  and 7 \n",
      "No overlap found between modules 0  and 7 \n",
      "Currently checking modules 0  and 8 \n",
      "No overlap found between modules 0  and 8 \n",
      "Currently checking modules 0  and 9 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 1  and 0 \n",
      "No overlap found between modules 1  and 0 \n",
      "Currently checking modules 1  and 2 \n",
      "No overlap found between modules 1  and 2 \n",
      "Currently checking modules 1  and 3 \n",
      "No overlap found between modules 1  and 3 \n",
      "Currently checking modules 1  and 4 \n",
      "No overlap found between modules 1  and 4 \n",
      "Currently checking modules 1  and 5 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 1  and 6 \n",
      "No overlap found between modules 1  and 6 \n",
      "Currently checking modules 1  and 7 \n",
      "No overlap found between modules 1  and 7 \n",
      "Currently checking modules 1  and 8 \n",
      "No overlap found between modules 1  and 8 \n",
      "Currently checking modules 1  and 9 \n",
      "No overlap found between modules 1  and 9 \n",
      "Currently checking modules 2  and 0 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 2  and 1 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 2  and 3 \n",
      "No overlap found between modules 2  and 3 \n",
      "Currently checking modules 2  and 4 \n",
      "No overlap found between modules 2  and 4 \n",
      "Currently checking modules 2  and 5 \n",
      "No overlap found between modules 2  and 5 \n",
      "Currently checking modules 2  and 6 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 2  and 7 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 2  and 8 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 2  and 9 \n",
      "No overlap found between modules 2  and 9 \n",
      "Currently checking modules 3  and 0 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 3  and 1 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 3  and 2 \n",
      "No overlap found between modules 3  and 2 \n",
      "Currently checking modules 3  and 4 \n",
      "No overlap found between modules 3  and 4 \n",
      "Currently checking modules 3  and 5 \n",
      "No overlap found between modules 3  and 5 \n",
      "Currently checking modules 3  and 6 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 3  and 7 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 3  and 8 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 3  and 9 \n",
      "No overlap found between modules 3  and 9 \n",
      "Currently checking modules 4  and 0 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 4  and 1 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 4  and 2 \n",
      "No overlap found between modules 4  and 2 \n",
      "Currently checking modules 4  and 3 \n",
      "No overlap found between modules 4  and 3 \n",
      "Currently checking modules 4  and 5 \n",
      "No overlap found between modules 4  and 5 \n",
      "Currently checking modules 4  and 6 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 4  and 7 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 4  and 8 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 4  and 9 \n",
      "No overlap found between modules 4  and 9 \n",
      "Currently checking modules 5  and 0 \n",
      "No overlap found between modules 5  and 0 \n",
      "Currently checking modules 5  and 1 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 5  and 2 \n",
      "No overlap found between modules 5  and 2 \n",
      "Currently checking modules 5  and 3 \n",
      "No overlap found between modules 5  and 3 \n",
      "Currently checking modules 5  and 4 \n",
      "No overlap found between modules 5  and 4 \n",
      "Currently checking modules 5  and 6 \n",
      "No overlap found between modules 5  and 6 \n",
      "Currently checking modules 5  and 7 \n",
      "No overlap found between modules 5  and 7 \n",
      "Currently checking modules 5  and 8 \n",
      "No overlap found between modules 5  and 8 \n",
      "Currently checking modules 5  and 9 \n",
      "No overlap found between modules 5  and 9 \n",
      "Currently checking modules 6  and 0 \n",
      "No overlap found between modules 6  and 0 \n",
      "Currently checking modules 6  and 1 \n",
      "No overlap found between modules 6  and 1 \n",
      "Currently checking modules 6  and 2 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 6  and 3 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 6  and 4 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 6  and 5 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 6  and 7 \n",
      "No overlap found between modules 6  and 7 \n",
      "Currently checking modules 6  and 8 \n",
      "No overlap found between modules 6  and 8 \n",
      "Currently checking modules 6  and 9 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 7  and 0 \n",
      "No overlap found between modules 7  and 0 \n",
      "Currently checking modules 7  and 1 \n",
      "No overlap found between modules 7  and 1 \n",
      "Currently checking modules 7  and 2 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 7  and 3 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 7  and 4 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 7  and 5 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 7  and 6 \n",
      "No overlap found between modules 7  and 6 \n",
      "Currently checking modules 7  and 8 \n",
      "No overlap found between modules 7  and 8 \n",
      "Currently checking modules 7  and 9 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 8  and 0 \n",
      "No overlap found between modules 8  and 0 \n",
      "Currently checking modules 8  and 1 \n",
      "No overlap found between modules 8  and 1 \n",
      "Currently checking modules 8  and 2 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, -1/2) and (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 8  and 3 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, -1/2) and (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 8  and 4 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 8  and 5 \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 8  and 6 \n",
      "No overlap found between modules 8  and 6 \n",
      "Currently checking modules 8  and 7 \n",
      "No overlap found between modules 8  and 7 \n",
      "Currently checking modules 8  and 9 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, -1/2) and (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 9  and 0 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 9  and 1 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 9  and 2 \n",
      "No overlap found between modules 9  and 2 \n",
      "Currently checking modules 9  and 3 \n",
      "No overlap found between modules 9  and 3 \n",
      "Currently checking modules 9  and 4 \n",
      "No overlap found between modules 9  and 4 \n",
      "Currently checking modules 9  and 5 \n",
      "No overlap found between modules 9  and 5 \n",
      "Currently checking modules 9  and 6 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, 1/2) and (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 9  and 7 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, 1/2) and (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 9  and 8 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, 1/2) and (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "\n",
      "Found the following adjacency matrix for the orbit:\n",
      "[0 0 1 1 1 1 0 0 0 1]\n",
      "[0 0 0 0 0 1 0 0 0 0]\n",
      "[1 1 0 0 0 0 1 1 1 0]\n",
      "[1 1 0 0 0 0 1 1 1 0]\n",
      "[1 1 0 0 0 0 1 1 1 0]\n",
      "[0 1 0 0 0 0 0 0 0 0]\n",
      "[0 0 1 1 1 1 0 0 0 1]\n",
      "[0 0 1 1 1 1 0 0 0 1]\n",
      "[0 0 1 1 1 1 0 0 0 1]\n",
      "[1 1 0 0 0 0 1 1 1 0]\n",
      "Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module: False\n",
      "The strongly connected components:\n",
      "0 1 2 3 4 5 6 7 8 9 \n",
      "1 5 \n",
      "0 1 2 3 4 5 6 7 8 9 \n",
      "0 1 2 3 4 5 6 7 8 9 \n",
      "0 1 2 3 4 5 6 7 8 9 \n",
      "1 5 \n",
      "0 1 2 3 4 5 6 7 8 9 \n",
      "0 1 2 3 4 5 6 7 8 9 \n",
      "0 1 2 3 4 5 6 7 8 9 \n",
      "0 1 2 3 4 5 6 7 8 9 \n",
      "\n",
      "Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\n",
      "Checking modules 0 and 1 for orthogonality\n",
      "Checking modules 0 and 2 for orthogonality\n",
      "Checking modules 0 and 3 for orthogonality\n",
      "Checking modules 0 and 4 for orthogonality\n",
      "Checking modules 0 and 5 for orthogonality\n",
      "Checking modules 0 and 6 for orthogonality\n",
      "Checking modules 0 and 7 for orthogonality\n",
      "Checking modules 0 and 8 for orthogonality\n",
      "Checking modules 0 and 9 for orthogonality\n",
      "Checking modules 1 and 2 for orthogonality\n",
      "Checking modules 1 and 3 for orthogonality\n",
      "Checking modules 1 and 4 for orthogonality\n",
      "Checking modules 1 and 5 for orthogonality\n",
      "Checking modules 1 and 6 for orthogonality\n",
      "Checking modules 1 and 7 for orthogonality\n",
      "Checking modules 1 and 8 for orthogonality\n",
      "Checking modules 1 and 9 for orthogonality\n",
      "Checking modules 2 and 3 for orthogonality\n",
      "Checking modules 2 and 4 for orthogonality\n",
      "Checking modules 2 and 5 for orthogonality\n",
      "Checking modules 2 and 6 for orthogonality\n",
      "Checking modules 2 and 7 for orthogonality\n",
      "Checking modules 2 and 8 for orthogonality\n",
      "Checking modules 2 and 9 for orthogonality\n",
      "Checking modules 3 and 4 for orthogonality\n",
      "Checking modules 3 and 5 for orthogonality\n",
      "Checking modules 3 and 6 for orthogonality\n",
      "Checking modules 3 and 7 for orthogonality\n",
      "Checking modules 3 and 8 for orthogonality\n",
      "Checking modules 3 and 9 for orthogonality\n",
      "Checking modules 4 and 5 for orthogonality\n",
      "Checking modules 4 and 6 for orthogonality\n",
      "Checking modules 4 and 7 for orthogonality\n",
      "Checking modules 4 and 8 for orthogonality\n",
      "Checking modules 4 and 9 for orthogonality\n",
      "Checking modules 5 and 6 for orthogonality\n",
      "Checking modules 5 and 7 for orthogonality\n",
      "Checking modules 5 and 8 for orthogonality\n",
      "Checking modules 5 and 9 for orthogonality\n",
      "Checking modules 6 and 7 for orthogonality\n",
      "Checking modules 6 and 8 for orthogonality\n",
      "Checking modules 6 and 9 for orthogonality\n",
      "Checking modules 7 and 8 for orthogonality\n",
      "Checking modules 7 and 9 for orthogonality\n",
      "Checking modules 8 and 9 for orthogonality\n",
      "[0 1 1 1 1 1 1 1 1 1]\n",
      "[1 0 1 1 1 1 1 1 1 1]\n",
      "[1 1 0 1 1 1 1 1 1 1]\n",
      "[1 1 1 0 1 1 1 1 1 1]\n",
      "[1 1 1 1 0 1 1 1 1 1]\n",
      "[1 1 1 1 1 0 1 1 1 1]\n",
      "[1 1 1 1 1 1 0 1 1 1]\n",
      "[1 1 1 1 1 1 1 0 1 1]\n",
      "[1 1 1 1 1 1 1 1 0 1]\n",
      "[1 1 1 1 1 1 1 1 1 0]\n"
     ]
    }
   ],
   "source": [
    "# Computing which modules are mixed under X10\n",
    "L=len(so_10_modules)\n",
    "A_adj=list(0*identity_matrix(L))\n",
    "X=Bermans[1]\n",
    "for i in range(L):\n",
    "    for j in range(L):\n",
    "        if i!=j:\n",
    "            print (\"\\rCurrently checking modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "            b=check_modules(module1=so_10_modules[i],module2=so_10_modules[j],A_mat=X)\n",
    "            A_adj[i][j]=b\n",
    "            if b==0:\n",
    "                print(\"No overlap found between modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "\n",
    "print(\"\")\n",
    "print(\"Found the following adjacency matrix for the orbit:\")\n",
    "print(matrix(A_adj))\n",
    "\n",
    "connections=[orbit(incidence=A_adj,L=L,start=i) for i in range(L)]\n",
    "full=list(range(L))\n",
    "b=True\n",
    "for i in range(L):\n",
    "    if list(connections[i])==full:\n",
    "        b=b and True\n",
    "    else:\n",
    "        b=b and False\n",
    "print(\"Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module:\",b)\n",
    "print(\"The strongly connected components:\")\n",
    "for c in connections:\n",
    "    for e in c:\n",
    "        print(e,end=\" \")\n",
    "    print(\"\")\n",
    "print(\"\")\n",
    "print(\"Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\")\n",
    "\n",
    "A_orth=[[False for i in range(L)] for j in range(L) ]\n",
    "\n",
    "for i in range(L):\n",
    "    for j in range(i+1,L):\n",
    "        print(\"Checking modules\",i,\"and\",j,\"for orthogonality\")\n",
    "        t=orthogonal_modules_Q(new_modules[i],new_modules[j])\n",
    "        A_orth[i][j]=t\n",
    "        A_orth[j][i]=t\n",
    "        \n",
    "print(matrix(A_orth))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Determine the orbit under X10 of the first module:\n",
      "Currently evaluating module of highest weight (3/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Found a new germ which yields highest weight (3/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Found a new germ which yields highest weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Found a new germ which yields highest weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Found a new germ which yields highest weight (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently evaluating module of highest weight (3/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Found a new germ which yields highest weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Found a new germ which yields highest weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Found a new germ which yields highest weight (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently evaluating module of highest weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently evaluating module of highest weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently evaluating module of highest weight (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently evaluating module of highest weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently evaluating module of highest weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently evaluating module of highest weight (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Done! Found the following highest weight modules in the first orbit of X10:\n",
      "Module 1 has highest weight (3/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Module 2 has highest weight (3/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Module 3 has highest weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Module 4 has highest weight (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Module 5 has highest weight (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Module 6 has highest weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Module 7 has highest weight (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Module 8 has highest weight (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "The entire computation took 766.3745601177216 seconds.\n",
      "Saved all modules in 4.877002716064453 seconds.\n"
     ]
    }
   ],
   "source": [
    "# Apply the orbit method to one of the uniqe SO(10)-modules (Make sure to pcik a uniqe one!)\n",
    "\n",
    "new_modules=[so_10_modules[9]]\n",
    "\n",
    "start=time.time()\n",
    "print(\"Determine the orbit under X10 of the first module:\")\n",
    "for module in new_modules:\n",
    "    print (\"Currently evaluating module of highest weight\",module[0])\n",
    "    for weight in module[1]:          # Loop over the weights of the basis\n",
    "        \n",
    "        pos_weights=possible_weights(weight)        \n",
    "        basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "        k=len(basis)\n",
    "        if k>1:\n",
    "            basis=orthogonalize_v2(basis)        \n",
    "        \n",
    "        \n",
    "        for v in module[1][weight]:   # Access the vectors of this weight\n",
    "            image=X*v                 # Compute image\n",
    "            n=1\n",
    "            \n",
    "            while n!=0:\n",
    "                new_v=project_away(image,basis)\n",
    "                n=dot_sparse(new_v,new_v)\n",
    "                if n!=0:\n",
    "                    prim=find_primitive(E_ladder,new_v)\n",
    "                    new_weight=det_weight_v2(prim,H_orth)\n",
    "                    print (\"Found a new germ which yields highest weight\",new_weight)\n",
    "                        \n",
    "                    \n",
    "                    new_mod=[new_weight,weights_and_vectors(highest_weight=new_weight,\n",
    "                                                        highest_vector=prim,\n",
    "                                                        F_ladder=F_ladder)]\n",
    "                    new_modules.append(new_mod)\n",
    "                    \n",
    "                    pos_weights=possible_weights(weight)\n",
    "                    \n",
    "                    basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "                    k=len(basis)\n",
    "                    \n",
    "                    \n",
    "                    if k>1:\n",
    "                        basis=orthogonalize_v2(basis)        \n",
    "                    \n",
    "        \n",
    "print (\"Done! Found the following highest weight modules in the first orbit of X10:\")\n",
    "i=1\n",
    "for module in new_modules:\n",
    "    print (\"Module\",i, \"has highest weight\",module[0])\n",
    "    i=i+1\n",
    "end=time.time()\n",
    "print(\"The entire computation took\",end-start,\"seconds.\")\n",
    "\n",
    "i=0\n",
    "try:\n",
    "    os.makedirs(directory)\n",
    "except os.error as error:\n",
    "    print(directory,\"already exists\")\n",
    "start=time.time()\n",
    "for module in new_modules:\n",
    "    path=directory+\"module\"+str(i)\n",
    "    save(module,path)\n",
    "    try: \n",
    "        os.makedirs(path+r\"/\")\n",
    "    except os.error as error:\n",
    "        pass\n",
    "    write_module_to_dir(Mod=module,Path=path+r\"/\")\n",
    "    i=i+1\n",
    "\n",
    "end=time.time()\n",
    "print(\"Saved all modules in\",end-start,\"seconds.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Currently checking modules 0  and 1 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, 1/2) and (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 0  and 2 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, 1/2) and (3/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 0  and 3 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 3/2, 1/2, 1/2) and (1/2, 1/2, 3/2, 1/2, 1/2)\n",
      "Currently checking modules 0  and 4 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 0  and 5 \n",
      "No overlap found between modules 0  and 5 \n",
      "Currently checking modules 0  and 6 \n",
      "No overlap found between modules 0  and 6 \n",
      "Currently checking modules 0  and 7 \n",
      "No overlap found between modules 0  and 7 \n",
      "Currently checking modules 1  and 0 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, -1/2) and (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 1  and 2 \n",
      "No overlap found between modules 1  and 2 \n",
      "Currently checking modules 1  and 3 \n",
      "No overlap found between modules 1  and 3 \n",
      "Currently checking modules 1  and 4 \n",
      "No overlap found between modules 1  and 4 \n",
      "Currently checking modules 1  and 5 \n",
      "Found an overlap between the weight spaces (3/2, 3/2, 1/2, 1/2, -1/2) and (3/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 1  and 6 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 3/2, 1/2, -1/2) and (1/2, 1/2, 3/2, 1/2, -1/2)\n",
      "Currently checking modules 1  and 7 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 2  and 0 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 2  and 1 \n",
      "No overlap found between modules 2  and 1 \n",
      "Currently checking modules 2  and 3 \n",
      "No overlap found between modules 2  and 3 \n",
      "Currently checking modules 2  and 4 \n",
      "No overlap found between modules 2  and 4 \n",
      "Currently checking modules 2  and 5 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 2  and 6 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 2  and 7 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 3  and 0 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 3  and 1 \n",
      "No overlap found between modules 3  and 1 \n",
      "Currently checking modules 3  and 2 \n",
      "No overlap found between modules 3  and 2 \n",
      "Currently checking modules 3  and 4 \n",
      "No overlap found between modules 3  and 4 \n",
      "Currently checking modules 3  and 5 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 3  and 6 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, 1/2) and (3/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 3  and 7 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, 1/2) and (1/2, 1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 4  and 0 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 4  and 1 \n",
      "No overlap found between modules 4  and 1 \n",
      "Currently checking modules 4  and 2 \n",
      "No overlap found between modules 4  and 2 \n",
      "Currently checking modules 4  and 3 \n",
      "No overlap found between modules 4  and 3 \n",
      "Currently checking modules 4  and 5 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 4  and 6 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 4  and 7 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, -1/2) and (1/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 5  and 0 \n",
      "No overlap found between modules 5  and 0 \n",
      "Currently checking modules 5  and 1 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 5  and 2 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 5  and 3 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 5  and 4 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 5  and 6 \n",
      "No overlap found between modules 5  and 6 \n",
      "Currently checking modules 5  and 7 \n",
      "No overlap found between modules 5  and 7 \n",
      "Currently checking modules 6  and 0 \n",
      "No overlap found between modules 6  and 0 \n",
      "Currently checking modules 6  and 1 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, 3/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 6  and 2 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 6  and 3 \n",
      "Found an overlap between the weight spaces (3/2, 1/2, 1/2, 1/2, -1/2) and (3/2, -1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 6  and 4 \n",
      "Found an overlap between the weight spaces (1/2, 3/2, 1/2, 1/2, -1/2) and (1/2, 1/2, 1/2, 1/2, -1/2)\n",
      "Currently checking modules 6  and 5 \n",
      "No overlap found between modules 6  and 5 \n",
      "Currently checking modules 6  and 7 \n",
      "No overlap found between modules 6  and 7 \n",
      "Currently checking modules 7  and 0 \n",
      "No overlap found between modules 7  and 0 \n",
      "Currently checking modules 7  and 1 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 7  and 2 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 7  and 3 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, 3/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 7  and 4 \n",
      "Found an overlap between the weight spaces (1/2, 1/2, 1/2, 1/2, 1/2) and (1/2, -1/2, 1/2, 1/2, 1/2)\n",
      "Currently checking modules 7  and 5 \n",
      "No overlap found between modules 7  and 5 \n",
      "Currently checking modules 7  and 6 \n",
      "No overlap found between modules 7  and 6 \n",
      "\n",
      "Found the following adjacency matrix for the orbit:\n",
      "[0 1 1 1 1 0 0 0]\n",
      "[1 0 0 0 0 1 1 1]\n",
      "[1 0 0 0 0 1 1 1]\n",
      "[1 0 0 0 0 1 1 1]\n",
      "[1 0 0 0 0 1 1 1]\n",
      "[0 1 1 1 1 0 0 0]\n",
      "[0 1 1 1 1 0 0 0]\n",
      "[0 1 1 1 1 0 0 0]\n",
      "Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module: True\n",
      "The strongly connected components:\n",
      "0 1 2 3 4 5 6 7 \n",
      "0 1 2 3 4 5 6 7 \n",
      "0 1 2 3 4 5 6 7 \n",
      "0 1 2 3 4 5 6 7 \n",
      "0 1 2 3 4 5 6 7 \n",
      "0 1 2 3 4 5 6 7 \n",
      "0 1 2 3 4 5 6 7 \n",
      "0 1 2 3 4 5 6 7 \n",
      "Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\n",
      "Checking modules 0 and 1 for orthogonality\n",
      "Checking modules 0 and 2 for orthogonality\n",
      "Checking modules 0 and 3 for orthogonality\n",
      "Checking modules 0 and 4 for orthogonality\n",
      "Checking modules 0 and 5 for orthogonality\n",
      "Checking modules 0 and 6 for orthogonality\n",
      "Checking modules 0 and 7 for orthogonality\n",
      "Checking modules 1 and 2 for orthogonality\n",
      "Checking modules 1 and 3 for orthogonality\n",
      "Checking modules 1 and 4 for orthogonality\n",
      "Checking modules 1 and 5 for orthogonality\n",
      "Checking modules 1 and 6 for orthogonality\n",
      "Checking modules 1 and 7 for orthogonality\n",
      "Checking modules 2 and 3 for orthogonality\n",
      "Checking modules 2 and 4 for orthogonality\n",
      "Checking modules 2 and 5 for orthogonality\n",
      "Checking modules 2 and 6 for orthogonality\n",
      "Checking modules 2 and 7 for orthogonality\n",
      "Checking modules 3 and 4 for orthogonality\n",
      "Checking modules 3 and 5 for orthogonality\n",
      "Checking modules 3 and 6 for orthogonality\n",
      "Checking modules 3 and 7 for orthogonality\n",
      "Checking modules 4 and 5 for orthogonality\n",
      "Checking modules 4 and 6 for orthogonality\n",
      "Checking modules 4 and 7 for orthogonality\n",
      "Checking modules 5 and 6 for orthogonality\n",
      "Checking modules 5 and 7 for orthogonality\n",
      "Checking modules 6 and 7 for orthogonality\n",
      "[0 1 1 1 1 1 1 1]\n",
      "[1 0 1 1 1 1 1 1]\n",
      "[1 1 0 1 1 1 1 1]\n",
      "[1 1 1 0 1 1 1 1]\n",
      "[1 1 1 1 0 1 1 1]\n",
      "[1 1 1 1 1 0 1 1]\n",
      "[1 1 1 1 1 1 0 1]\n",
      "[1 1 1 1 1 1 1 0]\n"
     ]
    }
   ],
   "source": [
    "# Computing which modules are mixed under X10\n",
    "L=len(new_modules)\n",
    "A_adj=list(0*identity_matrix(L))\n",
    "for i in range(L):\n",
    "    for j in range(L):\n",
    "        if i!=j:\n",
    "            print (\"\\rCurrently checking modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "            b=check_modules(module1=new_modules[i],module2=new_modules[j],A_mat=X)\n",
    "            A_adj[i][j]=b\n",
    "            if b==0:\n",
    "                print(\"No overlap found between modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "\n",
    "print(\"\")\n",
    "print(\"Found the following adjacency matrix for the orbit:\")\n",
    "print(matrix(A_adj))\n",
    "save(matrix(A_adj),directory+\"A_adj_orbit1\")\n",
    "connections=matrix([orbit(incidence=A_adj,L=L,start=i) for i in range(L)])\n",
    "full=list(range(L))\n",
    "b=True\n",
    "for i in range(L):\n",
    "    if list(connections[i])==full:\n",
    "        b=b and True\n",
    "    else:\n",
    "        b=b and False\n",
    "print(\"Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module:\",b)\n",
    "print(\"The strongly connected components:\")\n",
    "for c in connections:\n",
    "    for e in c:\n",
    "        print(e,end=\" \")\n",
    "    print(\"\")\n",
    "    \n",
    "print(\"Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\")\n",
    "\n",
    "A_orth=[[False for i in range(L)] for j in range(L) ]\n",
    "\n",
    "for i in range(L):\n",
    "    for j in range(i+1,L):\n",
    "        print(\"Checking modules\",i,\"and\",j,\"for orthogonality\")\n",
    "        t=orthogonal_modules_Q(new_modules[i],new_modules[j])\n",
    "        A_orth[i][j]=t\n",
    "        A_orth[j][i]=t\n",
    "        \n",
    "print(matrix(A_orth))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Reading in the matrices from Ext2_S12_matrices/\n",
      "Reading in matrices finished after 2.2567152976989746 seconds.\n",
      "\n",
      "Proceed with guessing a highest weight vector and verifying that it is primitive:\n",
      "The vector new_germ has weight (1, 1, 1, 1, 0) and the norms of E_i*new_germ are:\n",
      "0 0 0 0 0 \n",
      "Computing the weight space bases for the module of highest weight (1, 1, 1, 1, 0)\n",
      "Done! Took 0.513739824295044 seconds.\n",
      "Determine the orbit under X10 of the first module:\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, 0)\n",
      "Found a new germ which yields highest weight (1, 1, 1, 0, 0)\n",
      "Found a new germ which yields highest weight (1, 1, 1, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 1, 0, 0)\n",
      "Found a new germ which yields highest weight (0, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 1, 0, 0)\n",
      "Found a new germ which yields highest weight (1, 1, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (0, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 0, 0, 0)\n",
      "Done! Found the following highest weight modules in the first orbit of X10:\n",
      "Module 1 has highest weight (1, 1, 1, 1, 0)\n",
      "Module 2 has highest weight (1, 1, 1, 0, 0)\n",
      "Module 3 has highest weight (1, 1, 1, 0, 0)\n",
      "Module 4 has highest weight (0, 0, 0, 0, 0)\n",
      "Module 5 has highest weight (1, 1, 0, 0, 0)\n",
      "The entire computation took 4.264517068862915 seconds.\n",
      "Is this all one expects to find?\n",
      "Expected content: D5(0,0,0,0,0) + D5(1,1,0,0,0) + 2*D5(1,1,1,0,0) + D5(1,1,1,1,0)\n",
      "\n",
      "Ext2_S12_modules/ already exists\n",
      "Saved all modules in 0.3092174530029297 seconds.\n"
     ]
    }
   ],
   "source": [
    "matrix_path=\"Ext2_S12_matrices/\"  # where one can find the matrices\n",
    "directory=\"Ext2_S12_modules/\"     # Where one wants to store the modules\n",
    "print(\"Reading in the matrices from\",matrix_path)\n",
    "start=time.time()\n",
    "Bermans=read_in_SR(path=matrix_path,name=\"X\",number=10,silent=True)\n",
    "IBermans=read_in_SR(path=matrix_path,name=\"IX\",number=10,silent=True)\n",
    "E_ladder=read_in_SR(path=matrix_path,name=\"E\",number=5,silent=True)\n",
    "F_ladder=read_in_SR(path=matrix_path,name=\"F\",number=5,silent=True)\n",
    "H_orth=read_in_SR(path=matrix_path,name=\"H\",number=5,silent=True)\n",
    "end=time.time()\n",
    "print(\"Reading in matrices finished after\",end-start,\"seconds.\")\n",
    "print(\"\")\n",
    "print(\"Proceed with guessing a highest weight vector and verifying that it is primitive:\")\n",
    "# Finding a highets weight vector with a little trial and error based on analyitc insight. I\n",
    "# In a longer list of weights I would read in the weight space basis of the S1/2-module \n",
    "# and choose the correct weight from that list but here this is not necessary.\n",
    "\n",
    "u=vector(SR,32,{0:1},sparse=True)\n",
    "w=vector(SR,32,{16:1},sparse=True)\n",
    "[ext_basis,ext_linear]=normalizers_ext(2,32)\n",
    "new_germ=induced_vector_sparse_ext2(v=u,w=w,basis=ext_basis,linear=ext_linear)\n",
    "Lambda=det_weight_v2(new_germ,H_orth)\n",
    "print(\"The vector new_germ has weight\",Lambda,\"and the norms of E_i*new_germ are:\")\n",
    "for e in E_ladder:\n",
    "    t=e*new_germ\n",
    "    print(dot_sparse(t,t),end=\" \")\n",
    "print(\"\")\n",
    "print (\"Computing the weight space bases for the module of highest weight\",Lambda)\n",
    "start = time.time()\n",
    "b=weights_and_vectors(highest_weight=Lambda,highest_vector=new_germ,F_ladder=F_ladder)\n",
    "initial_module=[Lambda,b]\n",
    "end = time.time()\n",
    "print(\"Done! Took\",end-start,\"seconds.\")\n",
    "\n",
    "X=IBermans[1]\n",
    "new_modules=[initial_module.copy()]\n",
    "\n",
    "start=time.time()\n",
    "print(\"Determine the orbit under X10 of the first module:\")\n",
    "for module in new_modules:\n",
    "    print (\"Currently evaluating module of highest weight\",module[0])\n",
    "    for weight in module[1]:          # Loop over the weights of the basis\n",
    "        \n",
    "        pos_weights=possible_weights(weight)        \n",
    "        basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "        k=len(basis)\n",
    "        if k>1:\n",
    "            basis=orthogonalize_v2(basis)        \n",
    "        \n",
    "        \n",
    "        for v in module[1][weight]:   # Access the vectors of this weight\n",
    "            image=X*v                 # Compute image\n",
    "            n=1\n",
    "            \n",
    "            while n!=0:\n",
    "                new_v=project_away(image,basis)\n",
    "                n=dot_sparse(new_v,new_v)\n",
    "                if n!=0:\n",
    "                    prim=find_primitive(E_ladder,new_v)\n",
    "                    new_weight=det_weight_v2(prim,H_orth)\n",
    "                    print (\"Found a new germ which yields highest weight\",new_weight)\n",
    "                        \n",
    "                    \n",
    "                    new_mod=[new_weight,weights_and_vectors(highest_weight=new_weight,\n",
    "                                                        highest_vector=prim,\n",
    "                                                        F_ladder=F_ladder)]\n",
    "                    new_modules.append(new_mod)\n",
    "                    \n",
    "                    pos_weights=possible_weights(weight)\n",
    "                    \n",
    "                    basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "                    k=len(basis)\n",
    "                    \n",
    "                    \n",
    "                    if k>1:\n",
    "                        basis=orthogonalize_v2(basis)        \n",
    "                    \n",
    "        \n",
    "print (\"Done! Found the following highest weight modules in the first orbit of X10:\")\n",
    "i=1\n",
    "for module in new_modules:\n",
    "    print (\"Module\",i, \"has highest weight\",module[0])\n",
    "    i=i+1\n",
    "end=time.time()\n",
    "print(\"The entire computation took\",end-start,\"seconds.\")\n",
    "print(\"Is this all one expects to find?\")\n",
    "D5 = WeylCharacterRing(\"D5\")\n",
    "spin = D5(1/2,1/2,1/2,1/2,-1/2)+D5(1/2,1/2,1/2,1/2,1/2)\n",
    "print(\"Expected content:\",spin.exterior_power(2))\n",
    "print(\"\")\n",
    "i=0\n",
    "try:\n",
    "    os.makedirs(directory)\n",
    "except os.error as error:\n",
    "    print(directory,\"already exists\")\n",
    "start=time.time()\n",
    "for module in new_modules:\n",
    "    path=directory+\"module\"+str(i)\n",
    "    save(module,path)\n",
    "    try: \n",
    "        os.makedirs(path+r\"/\")\n",
    "    except os.error as error:\n",
    "        pass\n",
    "    write_module_to_dir(Mod=module,Path=path+r\"/\")\n",
    "    i=i+1\n",
    "\n",
    "end=time.time()\n",
    "print(\"Saved all modules in\",end-start,\"seconds.\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Currently checking modules 0  and 1 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 0  and 2 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 1) and (0, 0, 1, 1, 1)\n",
      "Currently checking modules 0  and 3 \n",
      "No overlap found between modules 0  and 3 \n",
      "Currently checking modules 0  and 4 \n",
      "No overlap found between modules 0  and 4 \n",
      "Currently checking modules 1  and 0 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 1  and 2 \n",
      "No overlap found between modules 1  and 2 \n",
      "Currently checking modules 1  and 3 \n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 1  and 4 \n",
      "No overlap found between modules 1  and 4 \n",
      "Currently checking modules 2  and 0 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 2  and 1 \n",
      "No overlap found between modules 2  and 1 \n",
      "Currently checking modules 2  and 3 \n",
      "No overlap found between modules 2  and 3 \n",
      "Currently checking modules 2  and 4 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 3  and 0 \n",
      "No overlap found between modules 3  and 0 \n",
      "Currently checking modules 3  and 1 \n",
      "Found an overlap between the weight spaces (0, 0, 0, 0, 0) and (0, 1, 0, 0, 0)\n",
      "Currently checking modules 3  and 2 \n",
      "No overlap found between modules 3  and 2 \n",
      "Currently checking modules 3  and 4 \n",
      "No overlap found between modules 3  and 4 \n",
      "Currently checking modules 4  and 0 \n",
      "No overlap found between modules 4  and 0 \n",
      "Currently checking modules 4  and 1 \n",
      "No overlap found between modules 4  and 1 \n",
      "Currently checking modules 4  and 2 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 4  and 3 \n",
      "No overlap found between modules 4  and 3 \n",
      "\n",
      "Found the following adjacency matrix for the orbit:\n",
      "[0 1 1 0 0]\n",
      "[1 0 0 1 0]\n",
      "[1 0 0 0 1]\n",
      "[0 1 0 0 0]\n",
      "[0 0 1 0 0]\n",
      "Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module: True\n",
      "Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\n",
      "Checking modules 0 and 1 for orthogonality\n",
      "Checking modules 0 and 2 for orthogonality\n",
      "Checking modules 0 and 3 for orthogonality\n",
      "Checking modules 0 and 4 for orthogonality\n",
      "Checking modules 1 and 2 for orthogonality\n",
      "Checking modules 1 and 3 for orthogonality\n",
      "Checking modules 1 and 4 for orthogonality\n",
      "Checking modules 2 and 3 for orthogonality\n",
      "Checking modules 2 and 4 for orthogonality\n",
      "Checking modules 3 and 4 for orthogonality\n",
      "[0 1 1 1 1]\n",
      "[1 0 1 1 1]\n",
      "[1 1 0 1 1]\n",
      "[1 1 1 0 1]\n",
      "[1 1 1 1 0]\n"
     ]
    }
   ],
   "source": [
    "# Computing which modules are mixed under X10\n",
    "L=len(new_modules)\n",
    "A_adj=list(0*identity_matrix(L))\n",
    "for i in range(L):\n",
    "    for j in range(L):\n",
    "        if i!=j:\n",
    "            print (\"\\rCurrently checking modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "            b=check_modules(module1=new_modules[i],module2=new_modules[j],A_mat=X)\n",
    "            A_adj[i][j]=b\n",
    "            if b==0:\n",
    "                print(\"No overlap found between modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "\n",
    "print(\"\")\n",
    "print(\"Found the following adjacency matrix for the orbit:\")\n",
    "print(matrix(A_adj))\n",
    "save(matrix(A_adj),directory+\"A_adj_orbit1\")\n",
    "connections=matrix([orbit(incidence=A_adj,L=L,start=i) for i in range(L)])\n",
    "full=list(range(L))\n",
    "b=True\n",
    "for i in range(L):\n",
    "    if list(connections[i])==full:\n",
    "        b=b and True\n",
    "    else:\n",
    "        b=b and False\n",
    "print(\"Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module:\",b)\n",
    "    \n",
    "print(\"Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\")\n",
    "\n",
    "A_orth=[[False for i in range(L)] for j in range(L) ]\n",
    "\n",
    "for i in range(L):\n",
    "    for j in range(i+1,L):\n",
    "        print(\"Checking modules\",i,\"and\",j,\"for orthogonality\")\n",
    "        t=orthogonal_modules_Q(new_modules[i],new_modules[j])\n",
    "        A_orth[i][j]=t\n",
    "        A_orth[j][i]=t\n",
    "        \n",
    "print(matrix(A_orth))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Reading in the matrices from Sym2_S12_matrices/\n",
      "Reading in matrices finished after 2.6941497325897217 seconds.\n",
      "\n",
      "Proceed with guessing a highest weight vector and verifying that it is primitive:\n",
      "The vector new_germ has weight (1, 1, 1, 1, 0) and the norms of E_i*new_germ are:\n",
      "0 0 0 0 0 \n",
      "Computing the weight space bases for the module of highest weight (1, 1, 1, 1, 0)\n",
      "Done! Took 1.684582233428955 seconds.\n",
      "Determine the orbit under X10 of the first module:\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, 0)\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, -1)\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, 1)\n",
      "Found a new germ which yields highest weight (1, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, -1)\n",
      "Found a new germ which yields highest weight (1, 1, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, 1)\n",
      "Currently evaluating module of highest weight (1, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 0, 0, 0)\n",
      "Found a new germ which yields highest weight (1, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 0, 0, 0, 0)\n",
      "------------------------------------\n",
      "\n",
      "Done! Found the following highest weight modules in the first orbit of X10:\n",
      "Module 1 has highest weight (1, 1, 1, 1, 0)\n",
      "Module 2 has highest weight (1, 1, 1, 1, -1)\n",
      "Module 3 has highest weight (1, 1, 1, 1, 1)\n",
      "Module 4 has highest weight (1, 0, 0, 0, 0)\n",
      "Module 5 has highest weight (1, 1, 0, 0, 0)\n",
      "Module 6 has highest weight (1, 0, 0, 0, 0)\n",
      "The entire computation took 15.513855218887329 seconds.\n",
      "Is this all one expects to find?\n",
      "Expected content: D5(0,0,0,0,0) + 2*D5(1,0,0,0,0) + D5(1,1,0,0,0) + D5(1,1,1,1,0) + D5(1,1,1,1,-1) + D5(1,1,1,1,1)\n",
      "\n",
      "Sym2_S12_modules/ already exists\n",
      "Saved all modules in 0.3842298984527588 seconds.\n"
     ]
    }
   ],
   "source": [
    "matrix_path=\"Sym2_S12_matrices/\"  # where one can find the matrices\n",
    "directory=\"Sym2_S12_modules/\"     # Where one wants to store the modules\n",
    "print(\"Reading in the matrices from\",matrix_path)\n",
    "start=time.time()\n",
    "Bermans=read_in_SR(path=matrix_path,name=\"X\",number=10,silent=True)\n",
    "IBermans=read_in_SR(path=matrix_path,name=\"IX\",number=10,silent=True)\n",
    "E_ladder=read_in_SR(path=matrix_path,name=\"E\",number=5,silent=True)\n",
    "F_ladder=read_in_SR(path=matrix_path,name=\"F\",number=5,silent=True)\n",
    "H_orth=read_in_SR(path=matrix_path,name=\"H\",number=5,silent=True)\n",
    "end=time.time()\n",
    "print(\"Reading in matrices finished after\",end-start,\"seconds.\")\n",
    "print(\"\")\n",
    "print(\"Proceed with guessing a highest weight vector and verifying that it is primitive:\")\n",
    "# Finding a highets weight vector with a little trial and error based on analyitc insight. I\n",
    "# In a longer list of weights I would read in the weight space basis of the S1/2-module \n",
    "# and choose the correct weight from that list but here this is not necessary.\n",
    "\n",
    "u=vector(SR,32,{0:1},sparse=True)\n",
    "w=vector(SR,32,{16:1},sparse=True)\n",
    "[sym_basis,sym_linear]=normalizers(2,32)\n",
    "new_germ=induced_vector_sparse_sym2(v=u,w=w,basis=sym_basis,linear=sym_linear)\n",
    "Lambda=det_weight_v2(new_germ,H_orth)\n",
    "print(\"The vector new_germ has weight\",Lambda,\"and the norms of E_i*new_germ are:\")\n",
    "for e in E_ladder:\n",
    "    t=e*new_germ\n",
    "    print(dot_sparse(t,t),end=\" \")\n",
    "print(\"\")\n",
    "print (\"Computing the weight space bases for the module of highest weight\",Lambda)\n",
    "start = time.time()\n",
    "b=weights_and_vectors(highest_weight=Lambda,highest_vector=new_germ,F_ladder=F_ladder)\n",
    "initial_module=[Lambda,b]\n",
    "end = time.time()\n",
    "print(\"Done! Took\",end-start,\"seconds.\")\n",
    "\n",
    "X=IBermans[1]\n",
    "new_modules=[initial_module.copy()]\n",
    "\n",
    "start=time.time()\n",
    "print(\"Determine the orbit under X10 of the first module:\")\n",
    "for module in new_modules:\n",
    "    print (\"Currently evaluating module of highest weight\",module[0])\n",
    "    for weight in module[1]:          # Loop over the weights of the basis\n",
    "        \n",
    "        pos_weights=possible_weights(weight)        \n",
    "        basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "        k=len(basis)\n",
    "        if k>1:\n",
    "            basis=orthogonalize_v2(basis)        \n",
    "        \n",
    "        \n",
    "        for v in module[1][weight]:   # Access the vectors of this weight\n",
    "            image=X*v                 # Compute image\n",
    "            n=1\n",
    "            \n",
    "            while n!=0:\n",
    "                new_v=project_away(image,basis)\n",
    "                n=dot_sparse(new_v,new_v)\n",
    "                if n!=0:\n",
    "                    prim=find_primitive(E_ladder,new_v)\n",
    "                    new_weight=det_weight_v2(prim,H_orth)\n",
    "                    print (\"Found a new germ which yields highest weight\",new_weight)\n",
    "                        \n",
    "                    \n",
    "                    new_mod=[new_weight,weights_and_vectors(highest_weight=new_weight,\n",
    "                                                        highest_vector=prim,\n",
    "                                                        F_ladder=F_ladder)]\n",
    "                    new_modules.append(new_mod)\n",
    "                    \n",
    "                    pos_weights=possible_weights(weight)\n",
    "                    \n",
    "                    basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "                    k=len(basis)\n",
    "                    \n",
    "                    \n",
    "                    if k>1:\n",
    "                        basis=orthogonalize_v2(basis)        \n",
    "                    \n",
    "        \n",
    "print(\"------------------------------------\")\n",
    "print(\"\")\n",
    "print (\"Done! Found the following highest weight modules in the first orbit of X10:\")\n",
    "i=1\n",
    "for module in new_modules:\n",
    "    print (\"Module\",i, \"has highest weight\",module[0])\n",
    "    i=i+1\n",
    "end=time.time()\n",
    "print(\"The entire computation took\",end-start,\"seconds.\")\n",
    "print(\"Is this all one expects to find?\")\n",
    "D5 = WeylCharacterRing(\"D5\")\n",
    "spin = D5(1/2,1/2,1/2,1/2,-1/2)+D5(1/2,1/2,1/2,1/2,1/2)\n",
    "print(\"Expected content:\",spin.symmetric_power(2))\n",
    "print(\"\")\n",
    "i=0\n",
    "try:\n",
    "    os.makedirs(directory)\n",
    "except os.error as error:\n",
    "    print(directory,\"already exists\")\n",
    "start=time.time()\n",
    "for module in new_modules:\n",
    "    path=directory+\"module\"+str(i)\n",
    "    save(module,path)\n",
    "    try: \n",
    "        os.makedirs(path+r\"/\")\n",
    "    except os.error as error:\n",
    "        pass\n",
    "    write_module_to_dir(Mod=module,Path=path+r\"/\")\n",
    "    i=i+1\n",
    "\n",
    "end=time.time()\n",
    "print(\"Saved all modules in\",end-start,\"seconds.\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "One misses the trivial representation which is to be expected from analytic considerations\n",
    "as the second symmetric power of any orthogonal group contains the trivial representation as an irreducible and invariant submodule. Under restriction to any subgroup, this submodule still remains invariant and irreducibel."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Check if the larger orbit in Sym^2(S_12) is irreducible:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Currently checking modules 0  and 1 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 0  and 2 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 0  and 3 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 0  and 4 \n",
      "No overlap found between modules 0  and 4 \n",
      "Currently checking modules 0  and 5 \n",
      "No overlap found between modules 0  and 5 \n",
      "Currently checking modules 1  and 0 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 0, 1, 1, -1)\n",
      "Currently checking modules 1  and 2 \n",
      "No overlap found between modules 1  and 2 \n",
      "Currently checking modules 1  and 3 \n",
      "No overlap found between modules 1  and 3 \n",
      "Currently checking modules 1  and 4 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 1  and 5 \n",
      "No overlap found between modules 1  and 5 \n",
      "Currently checking modules 2  and 0 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 2  and 1 \n",
      "No overlap found between modules 2  and 1 \n",
      "Currently checking modules 2  and 3 \n",
      "No overlap found between modules 2  and 3 \n",
      "Currently checking modules 2  and 4 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 2  and 5 \n",
      "No overlap found between modules 2  and 5 \n",
      "Currently checking modules 3  and 0 \n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 3  and 1 \n",
      "No overlap found between modules 3  and 1 \n",
      "Currently checking modules 3  and 2 \n",
      "No overlap found between modules 3  and 2 \n",
      "Currently checking modules 3  and 4 \n",
      "No overlap found between modules 3  and 4 \n",
      "Currently checking modules 3  and 5 \n",
      "No overlap found between modules 3  and 5 \n",
      "Currently checking modules 4  and 0 \n",
      "No overlap found between modules 4  and 0 \n",
      "Currently checking modules 4  and 1 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 4  and 2 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 4  and 3 \n",
      "No overlap found between modules 4  and 3 \n",
      "Currently checking modules 4  and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 5  and 0 \n",
      "No overlap found between modules 5  and 0 \n",
      "Currently checking modules 5  and 1 \n",
      "No overlap found between modules 5  and 1 \n",
      "Currently checking modules 5  and 2 \n",
      "No overlap found between modules 5  and 2 \n",
      "Currently checking modules 5  and 3 \n",
      "No overlap found between modules 5  and 3 \n",
      "Currently checking modules 5  and 4 \n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "\n",
      "Found the following adjacency matrix for the orbit:\n",
      "[0 1 1 1 0 0]\n",
      "[1 0 0 0 1 0]\n",
      "[1 0 0 0 1 0]\n",
      "[1 0 0 0 0 0]\n",
      "[0 1 1 0 0 1]\n",
      "[0 0 0 0 1 0]\n",
      "Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module: True\n",
      "Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\n",
      "Checking modules 0 and 1 for orthogonality\n",
      "Checking modules 0 and 2 for orthogonality\n",
      "Checking modules 0 and 3 for orthogonality\n",
      "Checking modules 0 and 4 for orthogonality\n",
      "Checking modules 0 and 5 for orthogonality\n",
      "Checking modules 1 and 2 for orthogonality\n",
      "Checking modules 1 and 3 for orthogonality\n",
      "Checking modules 1 and 4 for orthogonality\n",
      "Checking modules 1 and 5 for orthogonality\n",
      "Checking modules 2 and 3 for orthogonality\n",
      "Checking modules 2 and 4 for orthogonality\n",
      "Checking modules 2 and 5 for orthogonality\n",
      "Checking modules 3 and 4 for orthogonality\n",
      "Checking modules 3 and 5 for orthogonality\n",
      "Checking modules 4 and 5 for orthogonality\n",
      "[0 1 1 1 1 1]\n",
      "[1 0 1 1 1 1]\n",
      "[1 1 0 1 1 1]\n",
      "[1 1 1 0 1 1]\n",
      "[1 1 1 1 0 1]\n",
      "[1 1 1 1 1 0]\n"
     ]
    }
   ],
   "source": [
    "# Computing which modules are mixed under X10\n",
    "L=len(new_modules)\n",
    "A_adj=list(0*identity_matrix(L))\n",
    "for i in range(L):\n",
    "    for j in range(L):\n",
    "        if i!=j:\n",
    "            print (\"\\rCurrently checking modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "            b=check_modules(module1=new_modules[i],module2=new_modules[j],A_mat=X)\n",
    "            A_adj[i][j]=b\n",
    "            if b==0:\n",
    "                print(\"No overlap found between modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "\n",
    "print(\"\")\n",
    "print(\"Found the following adjacency matrix for the orbit:\")\n",
    "print(matrix(A_adj))\n",
    "save(matrix(A_adj),directory+\"A_adj_orbit1\")\n",
    "connections=matrix([orbit(incidence=A_adj,L=L,start=i) for i in range(L)])\n",
    "full=list(range(L))\n",
    "b=True\n",
    "for i in range(L):\n",
    "    if list(connections[i])==full:\n",
    "        b=b and True\n",
    "    else:\n",
    "        b=b and False\n",
    "print(\"Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module:\",b)\n",
    "    \n",
    "print(\"Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\")\n",
    "\n",
    "A_orth=[[False for i in range(L)] for j in range(L) ]\n",
    "\n",
    "for i in range(L):\n",
    "    for j in range(i+1,L):\n",
    "        print(\"Checking modules\",i,\"and\",j,\"for orthogonality\")\n",
    "        t=orthogonal_modules_Q(new_modules[i],new_modules[j])\n",
    "        A_orth[i][j]=t\n",
    "        A_orth[j][i]=t\n",
    "        \n",
    "print(matrix(A_orth))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Finding the missing trivial representation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Check these for orthogonality to ensure complete reducibility:\n",
      "Checking module 0 and the trivial module for orthogonality\n",
      "True\n",
      "Checking module 1 and the trivial module for orthogonality\n",
      "True\n",
      "Checking module 2 and the trivial module for orthogonality\n",
      "True\n",
      "Checking module 3 and the trivial module for orthogonality\n",
      "True\n",
      "Checking module 4 and the trivial module for orthogonality\n",
      "True\n",
      "Checking module 5 and the trivial module for orthogonality\n",
      "True\n"
     ]
    }
   ],
   "source": [
    "load(\"dense_decomposition_routines.sage\")\n",
    "trace32=get_primitives(Bermans)[0]\n",
    "triv_module=[(0,0,0,0,0),weights_and_vectors(highest_weight=(0,0,0,0,0),\n",
    "                                             highest_vector=trace32,F_ladder=F_ladder)]\n",
    "print(\"Check these for orthogonality to ensure complete reducibility:\")\n",
    "for i in range(L):\n",
    "        print(\"Checking module\",i,\"and the trivial module for orthogonality\")\n",
    "        t=orthogonal_modules_Q(new_modules[i],triv_module)\n",
    "        print(t)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Decomposition of S32xS12"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Reading in the matrices from S32_times_S12_matrices/\n",
      "Reading in matrices finished after 1.4244844913482666 seconds.\n",
      "\n",
      "Proceed with guessing a highest weight vector and verifying that it is primitive:\n",
      "full_germ has weight (2, 1, 1, 1, 1) and the norms of E_i*full_germ are:\n",
      "0 0 0 0 0 \n",
      "full_germ is a highest weight vector: True\n",
      "Computing the weight space bases for the module of highest weight (2, 1, 1, 1, 1)\n",
      "Done! Took 3391.0841870307922 seconds.\n",
      "Determine the orbit under X10 of the first module:\n",
      "Currently evaluating module of highest weight (2, 1, 1, 1, 1)\n",
      "Found a new germ which yields highest weight (2, 1, 1, 1, 0)\n",
      "Computation of this highest weight module took 2 hours 54 minutes and 36 seconds\n",
      "Found a new germ which yields highest weight (2, 1, 1, 1, 0)\n",
      "Computation of this highest weight module took 1 hours 8 minutes and 10 seconds\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, 1)\n",
      "Computation of this highest weight module took 0 hours 3 minutes and 25 seconds\n",
      "Found a new germ which yields highest weight (2, 1, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 8 minutes and 54 seconds\n",
      "Found a new germ which yields highest weight (1, 1, 1, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 5 minutes and 12 seconds\n",
      "Currently evaluating module of highest weight (2, 1, 1, 1, 0)\n",
      "Found a new germ which yields highest weight (2, 1, 1, 1, -1)\n",
      "Computation of this highest weight module took 0 hours 33 minutes and 36 seconds\n",
      "Found a new germ which yields highest weight (2, 1, 1, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 44 minutes and 1 seconds\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, 0)\n",
      "Computation of this highest weight module took 0 hours 5 minutes and 42 seconds\n",
      "Found a new germ which yields highest weight (2, 1, 1, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 45 minutes and 28 seconds\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, 0)\n",
      "Computation of this highest weight module took 0 hours 5 minutes and 43 seconds\n",
      "Found a new germ which yields highest weight (1, 1, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 0 minutes and 59 seconds\n",
      "Currently evaluating module of highest weight (2, 1, 1, 1, 0)\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, 0)\n",
      "Computation of this highest weight module took 0 hours 5 minutes and 42 seconds\n",
      "Found a new germ which yields highest weight (2, 0, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 1 minutes and 15 seconds\n",
      "Found a new germ which yields highest weight (1, 1, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 1 minutes and 0 seconds\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, 1)\n",
      "Currently evaluating module of highest weight (2, 1, 0, 0, 0)\n",
      "Found a new germ which yields highest weight (1, 1, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 0 minutes and 58 seconds\n",
      "Currently evaluating module of highest weight (1, 1, 1, 0, 0)\n",
      "Found a new germ which yields highest weight (0, 0, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 0 minutes and 1 seconds\n",
      "Currently evaluating module of highest weight (2, 1, 1, 1, -1)\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, -1)\n",
      "Computation of this highest weight module took 0 hours 3 minutes and 25 seconds\n",
      "Found a new germ which yields highest weight (1, 1, 1, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 3 minutes and 3 seconds\n",
      "Currently evaluating module of highest weight (2, 1, 1, 0, 0)\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, -1)\n",
      "Computation of this highest weight module took 0 hours 3 minutes and 25 seconds\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, 1)\n",
      "Computation of this highest weight module took 0 hours 3 minutes and 25 seconds\n",
      "Found a new germ which yields highest weight (1, 0, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 0 minutes and 9 seconds\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, 0)\n",
      "Currently evaluating module of highest weight (2, 1, 1, 0, 0)\n",
      "Found a new germ which yields highest weight (2, 1, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 8 minutes and 58 seconds\n",
      "Found a new germ which yields highest weight (1, 1, 1, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 3 minutes and 1 seconds\n",
      "Found a new germ which yields highest weight (1, 0, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 0 minutes and 9 seconds\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, 0)\n",
      "Found a new germ which yields highest weight (1, 0, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 0 minutes and 9 seconds\n",
      "Currently evaluating module of highest weight (2, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (0, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, -1)\n",
      "Currently evaluating module of highest weight (1, 1, 1, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, -1)\n",
      "Found a new germ which yields highest weight (1, 1, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 0 minutes and 59 seconds\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, 1)\n",
      "Currently evaluating module of highest weight (1, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (2, 1, 0, 0, 0)\n",
      "Found a new germ which yields highest weight (1, 1, 1, 1, 0)\n",
      "Computation of this highest weight module took 0 hours 5 minutes and 40 seconds\n",
      "Currently evaluating module of highest weight (1, 1, 1, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 0, 0, 0)\n",
      "Found a new germ which yields highest weight (1, 0, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 0 minutes and 9 seconds\n",
      "Currently evaluating module of highest weight (1, 1, 1, 1, 0)\n",
      "Found a new germ which yields highest weight (1, 1, 1, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 3 minutes and 3 seconds\n",
      "Currently evaluating module of highest weight (1, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (1, 1, 1, 0, 0)\n",
      "Found a new germ which yields highest weight (2, 0, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 1 minutes and 14 seconds\n",
      "Found a new germ which yields highest weight (0, 0, 0, 0, 0)\n",
      "Computation of this highest weight module took 0 hours 0 minutes and 1 seconds\n",
      "Currently evaluating module of highest weight (2, 0, 0, 0, 0)\n",
      "Currently evaluating module of highest weight (0, 0, 0, 0, 0)\n",
      "------------------------------------\n",
      "\n",
      "Done! Found the following highest weight modules in the first orbit of X10:\n",
      "Module 1 has highest weight (2, 1, 1, 1, 1)\n",
      "Module 2 has highest weight (2, 1, 1, 1, 0)\n",
      "Module 3 has highest weight (2, 1, 1, 1, 0)\n",
      "Module 4 has highest weight (1, 1, 1, 1, 1)\n",
      "Module 5 has highest weight (2, 1, 0, 0, 0)\n",
      "Module 6 has highest weight (1, 1, 1, 0, 0)\n",
      "Module 7 has highest weight (2, 1, 1, 1, -1)\n",
      "Module 8 has highest weight (2, 1, 1, 0, 0)\n",
      "Module 9 has highest weight (1, 1, 1, 1, 0)\n",
      "Module 10 has highest weight (2, 1, 1, 0, 0)\n",
      "Module 11 has highest weight (1, 1, 1, 1, 0)\n",
      "Module 12 has highest weight (1, 1, 0, 0, 0)\n",
      "Module 13 has highest weight (1, 1, 1, 1, 0)\n",
      "Module 14 has highest weight (2, 0, 0, 0, 0)\n",
      "Module 15 has highest weight (1, 1, 0, 0, 0)\n",
      "Module 16 has highest weight (1, 1, 0, 0, 0)\n",
      "Module 17 has highest weight (0, 0, 0, 0, 0)\n",
      "Module 18 has highest weight (1, 1, 1, 1, -1)\n",
      "Module 19 has highest weight (1, 1, 1, 0, 0)\n",
      "Module 20 has highest weight (1, 1, 1, 1, -1)\n",
      "Module 21 has highest weight (1, 1, 1, 1, 1)\n",
      "Module 22 has highest weight (1, 0, 0, 0, 0)\n",
      "Module 23 has highest weight (2, 1, 0, 0, 0)\n",
      "Module 24 has highest weight (1, 1, 1, 0, 0)\n",
      "Module 25 has highest weight (1, 0, 0, 0, 0)\n",
      "Module 26 has highest weight (1, 0, 0, 0, 0)\n",
      "Module 27 has highest weight (1, 1, 0, 0, 0)\n",
      "Module 28 has highest weight (1, 1, 1, 1, 0)\n",
      "Module 29 has highest weight (1, 0, 0, 0, 0)\n",
      "Module 30 has highest weight (1, 1, 1, 0, 0)\n",
      "Module 31 has highest weight (2, 0, 0, 0, 0)\n",
      "Module 32 has highest weight (0, 0, 0, 0, 0)\n",
      "The entire computation took 69757.45657372475 seconds.\n",
      "Is this all one expects to find?\n",
      "Decomposition of S12: D5(1/2,1/2,1/2,1/2,-1/2) + D5(1/2,1/2,1/2,1/2,1/2)\n",
      "Decomposition of S32: D5(1/2,1/2,1/2,1/2,-1/2) + D5(1/2,1/2,1/2,1/2,1/2) + D5(3/2,1/2,1/2,1/2,-1/2) + D5(3/2,1/2,1/2,1/2,1/2)\n",
      "Expected content of the product:\n",
      "2*D5(0,0,0,0,0) + 4*D5(1,0,0,0,0) + 4*D5(1,1,0,0,0) + 4*D5(1,1,1,0,0) + 4*D5(1,1,1,1,0) + 2*D5(1,1,1,1,-1) + 2*D5(1,1,1,1,1) + 2*D5(2,0,0,0,0) + 2*D5(2,1,0,0,0) + 2*D5(2,1,1,0,0) + 2*D5(2,1,1,1,0) + D5(2,1,1,1,-1) + D5(2,1,1,1,1)\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saved all modules in 13.667486667633057 seconds.\n"
     ]
    }
   ],
   "source": [
    "matrix_path=\"S32_times_S12_matrices/\"  # where one can find the matrices\n",
    "directory=\"S32_times_S12_modules/\"     # Where one wants to store the modules\n",
    "print(\"Reading in the matrices from\",matrix_path)\n",
    "start=time.time()\n",
    "#Bermans=read_in_SR(path=matrix_path,name=\"X\",number=10,silent=True)\n",
    "IBermans=read_in_QQ(path=matrix_path,name=\"IX\",number=10,silent=True)\n",
    "E_ladder=read_in_QQ(path=matrix_path,name=\"E\",number=5,silent=True)\n",
    "F_ladder=read_in_QQ(path=matrix_path,name=\"F\",number=5,silent=True)\n",
    "H_orth=read_in_QQ(path=matrix_path,name=\"H\",number=5,silent=True)\n",
    "end=time.time()\n",
    "print(\"Reading in matrices finished after\",end-start,\"seconds.\")\n",
    "print(\"\")\n",
    "print(\"Proceed with guessing a highest weight vector and verifying that it is primitive:\")\n",
    "# Finding a highets weight vector with a little trial and error based on analyitc insight. I\n",
    "# In a longer list of weights I would read in the weight space basis of the S1/2-module \n",
    "# and choose the correct weight from that list but here this is not necessary.\n",
    "\n",
    "w=vector(QQ,32,{21:1},sparse=True)\n",
    "new_germ1=vec_tensor(SimRoots[0],w)\n",
    "new_germ2=vector(QQ,32,{0:1},sparse=True)\n",
    "full_germ=vec_tensor(new_germ1,new_germ2)\n",
    "Lambda=det_weight_v2(full_germ,H_orth)\n",
    "print(\"full_germ has weight\",Lambda,\"and the norms of E_i*full_germ are:\")\n",
    "highest=True\n",
    "for e in E_ladder:\n",
    "    t=e*full_germ\n",
    "    test=dot_sparse(t,t)\n",
    "    print(test,end=\" \")\n",
    "    if test!=0:\n",
    "        highest=False\n",
    "print(\"\")\n",
    "print(\"full_germ is a highest weight vector:\",highest)\n",
    "\n",
    "print (\"Computing the weight space bases for the module of highest weight\",Lambda)\n",
    "start = time.time()\n",
    "b=weights_and_vectors(highest_weight=Lambda,highest_vector=full_germ,F_ladder=F_ladder)\n",
    "initial_module=[Lambda,b]\n",
    "end = time.time()\n",
    "print(\"Done! Took\",end-start,\"seconds.\")\n",
    "\n",
    "X=IBermans[1]\n",
    "del Bermans\n",
    "del IBermans\n",
    "new_modules=[initial_module.copy()]\n",
    "\n",
    "start=time.time()\n",
    "print(\"Determine the orbit under X10 of the first module:\")\n",
    "for module in new_modules:\n",
    "    print (\"Currently evaluating module of highest weight\",module[0])\n",
    "    for weight in module[1]:          # Loop over the weights of the basis\n",
    "        \n",
    "        pos_weights=possible_weights(weight)        \n",
    "        basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "        k=len(basis)\n",
    "        if k>1:\n",
    "            basis=orthogonalize_v2(basis)        \n",
    "        \n",
    "        \n",
    "        for v in module[1][weight]:   # Access the vectors of this weight\n",
    "            image=X*v                 # Compute image\n",
    "            n=1\n",
    "            \n",
    "            while n!=0:\n",
    "                new_v=project_away(image,basis)\n",
    "                n=dot_sparse(new_v,new_v)\n",
    "                if n!=0:\n",
    "                    prim=find_primitive(E_ladder,new_v)\n",
    "                    new_weight=det_weight_v2(prim,H_orth)\n",
    "                    print (\"Found a new germ which yields highest weight\",new_weight)\n",
    "                        \n",
    "                    t0=time.time()\n",
    "                    new_mod=[new_weight,weights_and_vectors(highest_weight=new_weight,\n",
    "                                                        highest_vector=prim,\n",
    "                                                        F_ladder=F_ladder)]\n",
    "                    new_modules.append(new_mod)\n",
    "                    t1=time.time()\n",
    "                    tt=convert_to_hms(ceil(t1-t0))\n",
    "\n",
    "                    print(\"Computation of this highest weight module took\",tt[0],\n",
    "                          \"hours\",tt[1],\"minutes and\",tt[2],\"seconds\")\n",
    "                    pos_weights=possible_weights(weight)\n",
    "                    \n",
    "                    basis=retrieve_known_weight_vectors(pos_weights,new_modules)\n",
    "                    k=len(basis)\n",
    "                    \n",
    "                    \n",
    "                    if k>1:\n",
    "                        basis=orthogonalize_v2(basis)        \n",
    "                    \n",
    "        \n",
    "print(\"------------------------------------\")\n",
    "print(\"\")\n",
    "print (\"Done! Found the following highest weight modules in the first orbit of X10:\")\n",
    "i=1\n",
    "for module in new_modules:\n",
    "    print (\"Module\",i, \"has highest weight\",module[0])\n",
    "    i=i+1\n",
    "end=time.time()\n",
    "print(\"The entire computation took\",end-start,\"seconds.\")\n",
    "print(\"Is this all one expects to find?\")\n",
    "D5 = WeylCharacterRing(\"D5\")\n",
    "spin12 = D5(1/2,1/2,1/2,1/2,-1/2)+D5(1/2,1/2,1/2,1/2,1/2)\n",
    "spin32 = D5(3/2,1/2,1/2,1/2,-1/2)+D5(3/2,1/2,1/2,1/2,1/2)+D5(1/2,1/2,1/2,1/2,-1/2)+D5(1/2,1/2,1/2,1/2,1/2)\n",
    "print(\"Decomposition of S12:\",spin12)\n",
    "print(\"Decomposition of S32:\",spin32)\n",
    "print(\"Expected content of the product:\")\n",
    "print(spin12*spin32)\n",
    "print(\"\")\n",
    "i=0\n",
    "try:\n",
    "    os.makedirs(directory)\n",
    "except os.error as error:\n",
    "    print(directory,\"already exists\")\n",
    "start=time.time()\n",
    "for module in new_modules:\n",
    "    path=directory+\"module\"+str(i)\n",
    "    save(module,path)\n",
    "    try: \n",
    "        os.makedirs(path+r\"/\")\n",
    "    except os.error as error:\n",
    "        pass\n",
    "    write_module_to_dir(Mod=module,Path=path+r\"/\")\n",
    "    i=i+1\n",
    "\n",
    "end=time.time() \n",
    "print(\"Saved all modules in\",end-start,\"seconds.\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Currently checking modules 0  and 1 \n",
      "Found an overlap between the weight spaces (2, 1, 1, 1, 1) and (2, 0, 1, 1, 1)\n",
      "Currently checking modules 0  and 2 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 1, 1) and (1, 1, 1, 1, 1)\n",
      "Currently checking modules 0  and 3 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 1, 1) and (1, 1, 1, 1, 1)\n",
      "Currently checking modules 0  and 4 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 0  and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 0  and 6 \n",
      "No overlap found between modules 0  and 6 \n",
      "Currently checking modules 0  and 7 \n",
      "No overlap found between modules 0  and 7 \n",
      "Currently checking modules 0  and 8 \n",
      "No overlap found between modules 0  and 8 \n",
      "Currently checking modules 0  and 9 \n",
      "No overlap found between modules 0  and 9 \n",
      "Currently checking modules 0  and 10\n",
      "No overlap found between modules 0  and 10\n",
      "Currently checking modules 0  and 11\n",
      "No overlap found between modules 0  and 11\n",
      "Currently checking modules 0  and 12\n",
      "No overlap found between modules 0  and 12\n",
      "Currently checking modules 0  and 13\n",
      "No overlap found between modules 0  and 13\n",
      "Currently checking modules 0  and 14\n",
      "No overlap found between modules 0  and 14\n",
      "Currently checking modules 0  and 15\n",
      "No overlap found between modules 0  and 15\n",
      "Currently checking modules 0  and 16\n",
      "No overlap found between modules 0  and 16\n",
      "Currently checking modules 0  and 17\n",
      "No overlap found between modules 0  and 17\n",
      "Currently checking modules 0  and 18\n",
      "No overlap found between modules 0  and 18\n",
      "Currently checking modules 0  and 19\n",
      "No overlap found between modules 0  and 19\n",
      "Currently checking modules 0  and 20\n",
      "No overlap found between modules 0  and 20\n",
      "Currently checking modules 0  and 21\n",
      "No overlap found between modules 0  and 21\n",
      "Currently checking modules 0  and 22\n",
      "No overlap found between modules 0  and 22\n",
      "Currently checking modules 0  and 23\n",
      "No overlap found between modules 0  and 23\n",
      "Currently checking modules 0  and 24\n",
      "No overlap found between modules 0  and 24\n",
      "Currently checking modules 0  and 25\n",
      "No overlap found between modules 0  and 25\n",
      "Currently checking modules 0  and 26\n",
      "No overlap found between modules 0  and 26\n",
      "Currently checking modules 0  and 27\n",
      "No overlap found between modules 0  and 27\n",
      "Currently checking modules 0  and 28\n",
      "No overlap found between modules 0  and 28\n",
      "Currently checking modules 0  and 29\n",
      "No overlap found between modules 0  and 29\n",
      "Currently checking modules 0  and 30\n",
      "No overlap found between modules 0  and 30\n",
      "Currently checking modules 0  and 31\n",
      "No overlap found between modules 0  and 31\n",
      "Currently checking modules 1  and 0 \n",
      "Found an overlap between the weight spaces (2, 1, 1, 1, 0) and (2, 0, 1, 1, 0)\n",
      "Currently checking modules 1  and 2 \n",
      "No overlap found between modules 1  and 2 \n",
      "Currently checking modules 1  and 3 \n",
      "No overlap found between modules 1  and 3 \n",
      "Currently checking modules 1  and 4 \n",
      "No overlap found between modules 1  and 4 \n",
      "Currently checking modules 1  and 5 \n",
      "No overlap found between modules 1  and 5 \n",
      "Currently checking modules 1  and 6 \n",
      "Found an overlap between the weight spaces (2, 1, 1, 1, 0) and (2, 0, 1, 1, 0)\n",
      "Currently checking modules 1  and 7 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 1, 0) and (1, 1, 1, 1, 0)\n",
      "Currently checking modules 1  and 8 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 1, 0) and (1, 1, 1, 1, 0)\n",
      "Currently checking modules 1  and 9 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 1  and 10\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 1  and 11\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 1  and 12\n",
      "No overlap found between modules 1  and 12\n",
      "Currently checking modules 1  and 13\n",
      "No overlap found between modules 1  and 13\n",
      "Currently checking modules 1  and 14\n",
      "No overlap found between modules 1  and 14\n",
      "Currently checking modules 1  and 15\n",
      "No overlap found between modules 1  and 15\n",
      "Currently checking modules 1  and 16\n",
      "No overlap found between modules 1  and 16\n",
      "Currently checking modules 1  and 17\n",
      "No overlap found between modules 1  and 17\n",
      "Currently checking modules 1  and 18\n",
      "No overlap found between modules 1  and 18\n",
      "Currently checking modules 1  and 19\n",
      "No overlap found between modules 1  and 19\n",
      "Currently checking modules 1  and 20\n",
      "No overlap found between modules 1  and 20\n",
      "Currently checking modules 1  and 21\n",
      "No overlap found between modules 1  and 21\n",
      "Currently checking modules 1  and 22\n",
      "No overlap found between modules 1  and 22\n",
      "Currently checking modules 1  and 23\n",
      "No overlap found between modules 1  and 23\n",
      "Currently checking modules 1  and 24\n",
      "No overlap found between modules 1  and 24\n",
      "Currently checking modules 1  and 25\n",
      "No overlap found between modules 1  and 25\n",
      "Currently checking modules 1  and 26\n",
      "No overlap found between modules 1  and 26\n",
      "Currently checking modules 1  and 27\n",
      "No overlap found between modules 1  and 27\n",
      "Currently checking modules 1  and 28\n",
      "No overlap found between modules 1  and 28\n",
      "Currently checking modules 1  and 29\n",
      "No overlap found between modules 1  and 29\n",
      "Currently checking modules 1  and 30\n",
      "No overlap found between modules 1  and 30\n",
      "Currently checking modules 1  and 31\n",
      "No overlap found between modules 1  and 31\n",
      "Currently checking modules 2  and 0 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 1, 0) and (1, 1, 1, 1, 0)\n",
      "Currently checking modules 2  and 1 \n",
      "No overlap found between modules 2  and 1 \n",
      "Currently checking modules 2  and 3 \n",
      "No overlap found between modules 2  and 3 \n",
      "Currently checking modules 2  and 4 \n",
      "No overlap found between modules 2  and 4 \n",
      "Currently checking modules 2  and 5 \n",
      "No overlap found between modules 2  and 5 \n",
      "Currently checking modules 2  and 6 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 1, 0) and (1, 1, 1, 1, 0)\n",
      "Currently checking modules 2  and 7 \n",
      "No overlap found between modules 2  and 7 \n",
      "Currently checking modules 2  and 8 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 2  and 9 \n",
      "Found an overlap between the weight spaces (2, 1, 1, 1, 0) and (2, 0, 1, 1, 0)\n",
      "Currently checking modules 2  and 10\n",
      "Found an overlap between the weight spaces (1, 2, 1, 1, 0) and (1, 1, 1, 1, 0)\n",
      "Currently checking modules 2  and 11\n",
      "No overlap found between modules 2  and 11\n",
      "Currently checking modules 2  and 12\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 2  and 13\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 2  and 14\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 2  and 15\n",
      "No overlap found between modules 2  and 15\n",
      "Currently checking modules 2  and 16\n",
      "No overlap found between modules 2  and 16\n",
      "Currently checking modules 2  and 17\n",
      "No overlap found between modules 2  and 17\n",
      "Currently checking modules 2  and 18\n",
      "No overlap found between modules 2  and 18\n",
      "Currently checking modules 2  and 19\n",
      "No overlap found between modules 2  and 19\n",
      "Currently checking modules 2  and 20\n",
      "No overlap found between modules 2  and 20\n",
      "Currently checking modules 2  and 21\n",
      "No overlap found between modules 2  and 21\n",
      "Currently checking modules 2  and 22\n",
      "No overlap found between modules 2  and 22\n",
      "Currently checking modules 2  and 23\n",
      "No overlap found between modules 2  and 23\n",
      "Currently checking modules 2  and 24\n",
      "No overlap found between modules 2  and 24\n",
      "Currently checking modules 2  and 25\n",
      "No overlap found between modules 2  and 25\n",
      "Currently checking modules 2  and 26\n",
      "No overlap found between modules 2  and 26\n",
      "Currently checking modules 2  and 27\n",
      "No overlap found between modules 2  and 27\n",
      "Currently checking modules 2  and 28\n",
      "No overlap found between modules 2  and 28\n",
      "Currently checking modules 2  and 29\n",
      "No overlap found between modules 2  and 29\n",
      "Currently checking modules 2  and 30\n",
      "No overlap found between modules 2  and 30\n",
      "Currently checking modules 2  and 31\n",
      "No overlap found between modules 2  and 31\n",
      "Currently checking modules 3  and 0 \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No overlap found between modules 3  and 0 \n",
      "Currently checking modules 3  and 1 \n",
      "No overlap found between modules 3  and 1 \n",
      "Currently checking modules 3  and 2 \n",
      "No overlap found between modules 3  and 2 \n",
      "Currently checking modules 3  and 4 \n",
      "No overlap found between modules 3  and 4 \n",
      "Currently checking modules 3  and 5 \n",
      "No overlap found between modules 3  and 5 \n",
      "Currently checking modules 3  and 6 \n",
      "No overlap found between modules 3  and 6 \n",
      "Currently checking modules 3  and 7 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 3  and 8 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 3  and 9 \n",
      "No overlap found between modules 3  and 9 \n",
      "Currently checking modules 3  and 10\n",
      "No overlap found between modules 3  and 10\n",
      "Currently checking modules 3  and 11\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 3  and 12\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 3  and 13\n",
      "No overlap found between modules 3  and 13\n",
      "Currently checking modules 3  and 14\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 3  and 15\n",
      "No overlap found between modules 3  and 15\n",
      "Currently checking modules 3  and 16\n",
      "No overlap found between modules 3  and 16\n",
      "Currently checking modules 3  and 17\n",
      "No overlap found between modules 3  and 17\n",
      "Currently checking modules 3  and 18\n",
      "No overlap found between modules 3  and 18\n",
      "Currently checking modules 3  and 19\n",
      "No overlap found between modules 3  and 19\n",
      "Currently checking modules 3  and 20\n",
      "No overlap found between modules 3  and 20\n",
      "Currently checking modules 3  and 21\n",
      "No overlap found between modules 3  and 21\n",
      "Currently checking modules 3  and 22\n",
      "No overlap found between modules 3  and 22\n",
      "Currently checking modules 3  and 23\n",
      "No overlap found between modules 3  and 23\n",
      "Currently checking modules 3  and 24\n",
      "No overlap found between modules 3  and 24\n",
      "Currently checking modules 3  and 25\n",
      "No overlap found between modules 3  and 25\n",
      "Currently checking modules 3  and 26\n",
      "No overlap found between modules 3  and 26\n",
      "Currently checking modules 3  and 27\n",
      "No overlap found between modules 3  and 27\n",
      "Currently checking modules 3  and 28\n",
      "No overlap found between modules 3  and 28\n",
      "Currently checking modules 3  and 29\n",
      "No overlap found between modules 3  and 29\n",
      "Currently checking modules 3  and 30\n",
      "No overlap found between modules 3  and 30\n",
      "Currently checking modules 3  and 31\n",
      "No overlap found between modules 3  and 31\n",
      "Currently checking modules 4  and 0 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 4  and 1 \n",
      "No overlap found between modules 4  and 1 \n",
      "Currently checking modules 4  and 2 \n",
      "No overlap found between modules 4  and 2 \n",
      "Currently checking modules 4  and 3 \n",
      "No overlap found between modules 4  and 3 \n",
      "Currently checking modules 4  and 5 \n",
      "No overlap found between modules 4  and 5 \n",
      "Currently checking modules 4  and 6 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 4  and 7 \n",
      "Found an overlap between the weight spaces (2, 1, 0, 0, 0) and (2, 0, 0, 0, 0)\n",
      "Currently checking modules 4  and 8 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 4  and 9 \n",
      "No overlap found between modules 4  and 9 \n",
      "Currently checking modules 4  and 10\n",
      "No overlap found between modules 4  and 10\n",
      "Currently checking modules 4  and 11\n",
      "Found an overlap between the weight spaces (1, 2, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 4  and 12\n",
      "No overlap found between modules 4  and 12\n",
      "Currently checking modules 4  and 13\n",
      "No overlap found between modules 4  and 13\n",
      "Currently checking modules 4  and 14\n",
      "No overlap found between modules 4  and 14\n",
      "Currently checking modules 4  and 15\n",
      "Found an overlap between the weight spaces (1, 2, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 4  and 16\n",
      "No overlap found between modules 4  and 16\n",
      "Currently checking modules 4  and 17\n",
      "No overlap found between modules 4  and 17\n",
      "Currently checking modules 4  and 18\n",
      "No overlap found between modules 4  and 18\n",
      "Currently checking modules 4  and 19\n",
      "No overlap found between modules 4  and 19\n",
      "Currently checking modules 4  and 20\n",
      "No overlap found between modules 4  and 20\n",
      "Currently checking modules 4  and 21\n",
      "No overlap found between modules 4  and 21\n",
      "Currently checking modules 4  and 22\n",
      "No overlap found between modules 4  and 22\n",
      "Currently checking modules 4  and 23\n",
      "No overlap found between modules 4  and 23\n",
      "Currently checking modules 4  and 24\n",
      "No overlap found between modules 4  and 24\n",
      "Currently checking modules 4  and 25\n",
      "No overlap found between modules 4  and 25\n",
      "Currently checking modules 4  and 26\n",
      "No overlap found between modules 4  and 26\n",
      "Currently checking modules 4  and 27\n",
      "No overlap found between modules 4  and 27\n",
      "Currently checking modules 4  and 28\n",
      "No overlap found between modules 4  and 28\n",
      "Currently checking modules 4  and 29\n",
      "No overlap found between modules 4  and 29\n",
      "Currently checking modules 4  and 30\n",
      "No overlap found between modules 4  and 30\n",
      "Currently checking modules 4  and 31\n",
      "No overlap found between modules 4  and 31\n",
      "Currently checking modules 5  and 0 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 5  and 1 \n",
      "No overlap found between modules 5  and 1 \n",
      "Currently checking modules 5  and 2 \n",
      "No overlap found between modules 5  and 2 \n",
      "Currently checking modules 5  and 3 \n",
      "No overlap found between modules 5  and 3 \n",
      "Currently checking modules 5  and 4 \n",
      "No overlap found between modules 5  and 4 \n",
      "Currently checking modules 5  and 6 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 5  and 7 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 2, 1, 0, 0)\n",
      "Currently checking modules 5  and 8 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 5  and 9 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 2, 1, 0, 0)\n",
      "Currently checking modules 5  and 10\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 5  and 11\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 5  and 12\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 5  and 13\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 5  and 14\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 5  and 15\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 5  and 16\n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 5  and 17\n",
      "No overlap found between modules 5  and 17\n",
      "Currently checking modules 5  and 18\n",
      "No overlap found between modules 5  and 18\n",
      "Currently checking modules 5  and 19\n",
      "No overlap found between modules 5  and 19\n",
      "Currently checking modules 5  and 20\n",
      "No overlap found between modules 5  and 20\n",
      "Currently checking modules 5  and 21\n",
      "No overlap found between modules 5  and 21\n",
      "Currently checking modules 5  and 22\n",
      "No overlap found between modules 5  and 22\n",
      "Currently checking modules 5  and 23\n",
      "No overlap found between modules 5  and 23\n",
      "Currently checking modules 5  and 24\n",
      "No overlap found between modules 5  and 24\n",
      "Currently checking modules 5  and 25\n",
      "No overlap found between modules 5  and 25\n",
      "Currently checking modules 5  and 26\n",
      "No overlap found between modules 5  and 26\n",
      "Currently checking modules 5  and 27\n",
      "No overlap found between modules 5  and 27\n",
      "Currently checking modules 5  and 28\n",
      "No overlap found between modules 5  and 28\n",
      "Currently checking modules 5  and 29\n",
      "No overlap found between modules 5  and 29\n",
      "Currently checking modules 5  and 30\n",
      "No overlap found between modules 5  and 30\n",
      "Currently checking modules 5  and 31\n",
      "No overlap found between modules 5  and 31\n",
      "Currently checking modules 6  and 0 \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No overlap found between modules 6  and 0 \n",
      "Currently checking modules 6  and 1 \n",
      "Found an overlap between the weight spaces (2, 1, 1, 1, -1) and (2, 0, 1, 1, -1)\n",
      "Currently checking modules 6  and 2 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 1, -1) and (1, 1, 1, 1, -1)\n",
      "Currently checking modules 6  and 3 \n",
      "No overlap found between modules 6  and 3 \n",
      "Currently checking modules 6  and 4 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 6  and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 6  and 7 \n",
      "No overlap found between modules 6  and 7 \n",
      "Currently checking modules 6  and 8 \n",
      "No overlap found between modules 6  and 8 \n",
      "Currently checking modules 6  and 9 \n",
      "No overlap found between modules 6  and 9 \n",
      "Currently checking modules 6  and 10\n",
      "No overlap found between modules 6  and 10\n",
      "Currently checking modules 6  and 11\n",
      "No overlap found between modules 6  and 11\n",
      "Currently checking modules 6  and 12\n",
      "No overlap found between modules 6  and 12\n",
      "Currently checking modules 6  and 13\n",
      "No overlap found between modules 6  and 13\n",
      "Currently checking modules 6  and 14\n",
      "No overlap found between modules 6  and 14\n",
      "Currently checking modules 6  and 15\n",
      "No overlap found between modules 6  and 15\n",
      "Currently checking modules 6  and 16\n",
      "No overlap found between modules 6  and 16\n",
      "Currently checking modules 6  and 17\n",
      "Found an overlap between the weight spaces (1, 2, 1, 1, -1) and (1, 1, 1, 1, -1)\n",
      "Currently checking modules 6  and 18\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 6  and 19\n",
      "No overlap found between modules 6  and 19\n",
      "Currently checking modules 6  and 20\n",
      "No overlap found between modules 6  and 20\n",
      "Currently checking modules 6  and 21\n",
      "No overlap found between modules 6  and 21\n",
      "Currently checking modules 6  and 22\n",
      "No overlap found between modules 6  and 22\n",
      "Currently checking modules 6  and 23\n",
      "No overlap found between modules 6  and 23\n",
      "Currently checking modules 6  and 24\n",
      "No overlap found between modules 6  and 24\n",
      "Currently checking modules 6  and 25\n",
      "No overlap found between modules 6  and 25\n",
      "Currently checking modules 6  and 26\n",
      "No overlap found between modules 6  and 26\n",
      "Currently checking modules 6  and 27\n",
      "No overlap found between modules 6  and 27\n",
      "Currently checking modules 6  and 28\n",
      "No overlap found between modules 6  and 28\n",
      "Currently checking modules 6  and 29\n",
      "No overlap found between modules 6  and 29\n",
      "Currently checking modules 6  and 30\n",
      "No overlap found between modules 6  and 30\n",
      "Currently checking modules 6  and 31\n",
      "No overlap found between modules 6  and 31\n",
      "Currently checking modules 7  and 0 \n",
      "No overlap found between modules 7  and 0 \n",
      "Currently checking modules 7  and 1 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 0, 0) and (1, 1, 1, 0, 0)\n",
      "Currently checking modules 7  and 2 \n",
      "No overlap found between modules 7  and 2 \n",
      "Currently checking modules 7  and 3 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 7  and 4 \n",
      "Found an overlap between the weight spaces (2, 1, 1, 0, 0) and (2, 0, 1, 0, 0)\n",
      "Currently checking modules 7  and 5 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 0, 0) and (1, 1, 1, 0, 0)\n",
      "Currently checking modules 7  and 6 \n",
      "No overlap found between modules 7  and 6 \n",
      "Currently checking modules 7  and 8 \n",
      "No overlap found between modules 7  and 8 \n",
      "Currently checking modules 7  and 9 \n",
      "No overlap found between modules 7  and 9 \n",
      "Currently checking modules 7  and 10\n",
      "No overlap found between modules 7  and 10\n",
      "Currently checking modules 7  and 11\n",
      "No overlap found between modules 7  and 11\n",
      "Currently checking modules 7  and 12\n",
      "No overlap found between modules 7  and 12\n",
      "Currently checking modules 7  and 13\n",
      "No overlap found between modules 7  and 13\n",
      "Currently checking modules 7  and 14\n",
      "No overlap found between modules 7  and 14\n",
      "Currently checking modules 7  and 15\n",
      "No overlap found between modules 7  and 15\n",
      "Currently checking modules 7  and 16\n",
      "No overlap found between modules 7  and 16\n",
      "Currently checking modules 7  and 17\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 7  and 18\n",
      "Found an overlap between the weight spaces (1, 2, 1, 0, 0) and (1, 1, 1, 0, 0)\n",
      "Currently checking modules 7  and 19\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 7  and 20\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 7  and 21\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 7  and 22\n",
      "No overlap found between modules 7  and 22\n",
      "Currently checking modules 7  and 23\n",
      "No overlap found between modules 7  and 23\n",
      "Currently checking modules 7  and 24\n",
      "No overlap found between modules 7  and 24\n",
      "Currently checking modules 7  and 25\n",
      "No overlap found between modules 7  and 25\n",
      "Currently checking modules 7  and 26\n",
      "No overlap found between modules 7  and 26\n",
      "Currently checking modules 7  and 27\n",
      "No overlap found between modules 7  and 27\n",
      "Currently checking modules 7  and 28\n",
      "No overlap found between modules 7  and 28\n",
      "Currently checking modules 7  and 29\n",
      "No overlap found between modules 7  and 29\n",
      "Currently checking modules 7  and 30\n",
      "No overlap found between modules 7  and 30\n",
      "Currently checking modules 7  and 31\n",
      "No overlap found between modules 7  and 31\n",
      "Currently checking modules 8  and 0 \n",
      "No overlap found between modules 8  and 0 \n",
      "Currently checking modules 8  and 1 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 2, 1, 1, 0)\n",
      "Currently checking modules 8  and 2 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 8  and 3 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 8  and 4 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 8  and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 8  and 6 \n",
      "No overlap found between modules 8  and 6 \n",
      "Currently checking modules 8  and 7 \n",
      "No overlap found between modules 8  and 7 \n",
      "Currently checking modules 8  and 9 \n",
      "No overlap found between modules 8  and 9 \n",
      "Currently checking modules 8  and 10\n",
      "No overlap found between modules 8  and 10\n",
      "Currently checking modules 8  and 11\n",
      "No overlap found between modules 8  and 11\n",
      "Currently checking modules 8  and 12\n",
      "No overlap found between modules 8  and 12\n",
      "Currently checking modules 8  and 13\n",
      "No overlap found between modules 8  and 13\n",
      "Currently checking modules 8  and 14\n",
      "No overlap found between modules 8  and 14\n",
      "Currently checking modules 8  and 15\n",
      "No overlap found between modules 8  and 15\n",
      "Currently checking modules 8  and 16\n",
      "No overlap found between modules 8  and 16\n",
      "Currently checking modules 8  and 17\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 8  and 18\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 8  and 19\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 8  and 20\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 8  and 21\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 8  and 22\n",
      "No overlap found between modules 8  and 22\n",
      "Currently checking modules 8  and 23\n",
      "No overlap found between modules 8  and 23\n",
      "Currently checking modules 8  and 24\n",
      "No overlap found between modules 8  and 24\n",
      "Currently checking modules 8  and 25\n",
      "No overlap found between modules 8  and 25\n",
      "Currently checking modules 8  and 26\n",
      "No overlap found between modules 8  and 26\n",
      "Currently checking modules 8  and 27\n",
      "No overlap found between modules 8  and 27\n",
      "Currently checking modules 8  and 28\n",
      "No overlap found between modules 8  and 28\n",
      "Currently checking modules 8  and 29\n",
      "No overlap found between modules 8  and 29\n",
      "Currently checking modules 8  and 30\n",
      "No overlap found between modules 8  and 30\n",
      "Currently checking modules 8  and 31\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No overlap found between modules 8  and 31\n",
      "Currently checking modules 9  and 0 \n",
      "No overlap found between modules 9  and 0 \n",
      "Currently checking modules 9  and 1 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 9  and 2 \n",
      "Found an overlap between the weight spaces (2, 1, 1, 0, 0) and (2, 0, 1, 0, 0)\n",
      "Currently checking modules 9  and 3 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 9  and 4 \n",
      "No overlap found between modules 9  and 4 \n",
      "Currently checking modules 9  and 5 \n",
      "Found an overlap between the weight spaces (1, 2, 1, 0, 0) and (1, 1, 1, 0, 0)\n",
      "Currently checking modules 9  and 6 \n",
      "No overlap found between modules 9  and 6 \n",
      "Currently checking modules 9  and 7 \n",
      "No overlap found between modules 9  and 7 \n",
      "Currently checking modules 9  and 8 \n",
      "No overlap found between modules 9  and 8 \n",
      "Currently checking modules 9  and 10\n",
      "No overlap found between modules 9  and 10\n",
      "Currently checking modules 9  and 11\n",
      "No overlap found between modules 9  and 11\n",
      "Currently checking modules 9  and 12\n",
      "No overlap found between modules 9  and 12\n",
      "Currently checking modules 9  and 13\n",
      "No overlap found between modules 9  and 13\n",
      "Currently checking modules 9  and 14\n",
      "No overlap found between modules 9  and 14\n",
      "Currently checking modules 9  and 15\n",
      "No overlap found between modules 9  and 15\n",
      "Currently checking modules 9  and 16\n",
      "No overlap found between modules 9  and 16\n",
      "Currently checking modules 9  and 17\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 9  and 18\n",
      "Found an overlap between the weight spaces (1, 2, 1, 0, 0) and (1, 1, 1, 0, 0)\n",
      "Currently checking modules 9  and 19\n",
      "No overlap found between modules 9  and 19\n",
      "Currently checking modules 9  and 20\n",
      "No overlap found between modules 9  and 20\n",
      "Currently checking modules 9  and 21\n",
      "No overlap found between modules 9  and 21\n",
      "Currently checking modules 9  and 22\n",
      "Found an overlap between the weight spaces (1, 2, 1, 0, 0) and (1, 1, 1, 0, 0)\n",
      "Currently checking modules 9  and 23\n",
      "Found an overlap between the weight spaces (1, 2, 1, 0, 0) and (1, 1, 1, 0, 0)\n",
      "Currently checking modules 9  and 24\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 9  and 25\n",
      "No overlap found between modules 9  and 25\n",
      "Currently checking modules 9  and 26\n",
      "No overlap found between modules 9  and 26\n",
      "Currently checking modules 9  and 27\n",
      "No overlap found between modules 9  and 27\n",
      "Currently checking modules 9  and 28\n",
      "No overlap found between modules 9  and 28\n",
      "Currently checking modules 9  and 29\n",
      "No overlap found between modules 9  and 29\n",
      "Currently checking modules 9  and 30\n",
      "No overlap found between modules 9  and 30\n",
      "Currently checking modules 9  and 31\n",
      "No overlap found between modules 9  and 31\n",
      "Currently checking modules 10 and 0 \n",
      "No overlap found between modules 10 and 0 \n",
      "Currently checking modules 10 and 1 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 10 and 2 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 2, 1, 1, 0)\n",
      "Currently checking modules 10 and 3 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 10 and 4 \n",
      "No overlap found between modules 10 and 4 \n",
      "Currently checking modules 10 and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 10 and 6 \n",
      "No overlap found between modules 10 and 6 \n",
      "Currently checking modules 10 and 7 \n",
      "No overlap found between modules 10 and 7 \n",
      "Currently checking modules 10 and 8 \n",
      "No overlap found between modules 10 and 8 \n",
      "Currently checking modules 10 and 9 \n",
      "No overlap found between modules 10 and 9 \n",
      "Currently checking modules 10 and 11\n",
      "No overlap found between modules 10 and 11\n",
      "Currently checking modules 10 and 12\n",
      "No overlap found between modules 10 and 12\n",
      "Currently checking modules 10 and 13\n",
      "No overlap found between modules 10 and 13\n",
      "Currently checking modules 10 and 14\n",
      "No overlap found between modules 10 and 14\n",
      "Currently checking modules 10 and 15\n",
      "No overlap found between modules 10 and 15\n",
      "Currently checking modules 10 and 16\n",
      "No overlap found between modules 10 and 16\n",
      "Currently checking modules 10 and 17\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 10 and 18\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 10 and 19\n",
      "No overlap found between modules 10 and 19\n",
      "Currently checking modules 10 and 20\n",
      "No overlap found between modules 10 and 20\n",
      "Currently checking modules 10 and 21\n",
      "No overlap found between modules 10 and 21\n",
      "Currently checking modules 10 and 22\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 10 and 23\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 10 and 24\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 10 and 25\n",
      "No overlap found between modules 10 and 25\n",
      "Currently checking modules 10 and 26\n",
      "No overlap found between modules 10 and 26\n",
      "Currently checking modules 10 and 27\n",
      "No overlap found between modules 10 and 27\n",
      "Currently checking modules 10 and 28\n",
      "No overlap found between modules 10 and 28\n",
      "Currently checking modules 10 and 29\n",
      "No overlap found between modules 10 and 29\n",
      "Currently checking modules 10 and 30\n",
      "No overlap found between modules 10 and 30\n",
      "Currently checking modules 10 and 31\n",
      "No overlap found between modules 10 and 31\n",
      "Currently checking modules 11 and 0 \n",
      "No overlap found between modules 11 and 0 \n",
      "Currently checking modules 11 and 1 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 11 and 2 \n",
      "No overlap found between modules 11 and 2 \n",
      "Currently checking modules 11 and 3 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 11 and 4 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 2, 0, 0, 0)\n",
      "Currently checking modules 11 and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 11 and 6 \n",
      "No overlap found between modules 11 and 6 \n",
      "Currently checking modules 11 and 7 \n",
      "No overlap found between modules 11 and 7 \n",
      "Currently checking modules 11 and 8 \n",
      "No overlap found between modules 11 and 8 \n",
      "Currently checking modules 11 and 9 \n",
      "No overlap found between modules 11 and 9 \n",
      "Currently checking modules 11 and 10\n",
      "No overlap found between modules 11 and 10\n",
      "Currently checking modules 11 and 12\n",
      "No overlap found between modules 11 and 12\n",
      "Currently checking modules 11 and 13\n",
      "No overlap found between modules 11 and 13\n",
      "Currently checking modules 11 and 14\n",
      "No overlap found between modules 11 and 14\n",
      "Currently checking modules 11 and 15\n",
      "No overlap found between modules 11 and 15\n",
      "Currently checking modules 11 and 16\n",
      "No overlap found between modules 11 and 16\n",
      "Currently checking modules 11 and 17\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 11 and 18\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 11 and 19\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 11 and 20\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 11 and 21\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 11 and 22\n",
      "No overlap found between modules 11 and 22\n",
      "Currently checking modules 11 and 23\n",
      "No overlap found between modules 11 and 23\n",
      "Currently checking modules 11 and 24\n",
      "No overlap found between modules 11 and 24\n",
      "Currently checking modules 11 and 25\n",
      "No overlap found between modules 11 and 25\n",
      "Currently checking modules 11 and 26\n",
      "No overlap found between modules 11 and 26\n",
      "Currently checking modules 11 and 27\n",
      "No overlap found between modules 11 and 27\n",
      "Currently checking modules 11 and 28\n",
      "No overlap found between modules 11 and 28\n",
      "Currently checking modules 11 and 29\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No overlap found between modules 11 and 29\n",
      "Currently checking modules 11 and 30\n",
      "No overlap found between modules 11 and 30\n",
      "Currently checking modules 11 and 31\n",
      "No overlap found between modules 11 and 31\n",
      "Currently checking modules 12 and 0 \n",
      "No overlap found between modules 12 and 0 \n",
      "Currently checking modules 12 and 1 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 2, 1, 1, 0)\n",
      "Currently checking modules 12 and 2 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 12 and 3 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 12 and 4 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 12 and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 12 and 6 \n",
      "No overlap found between modules 12 and 6 \n",
      "Currently checking modules 12 and 7 \n",
      "No overlap found between modules 12 and 7 \n",
      "Currently checking modules 12 and 8 \n",
      "No overlap found between modules 12 and 8 \n",
      "Currently checking modules 12 and 9 \n",
      "No overlap found between modules 12 and 9 \n",
      "Currently checking modules 12 and 10\n",
      "No overlap found between modules 12 and 10\n",
      "Currently checking modules 12 and 11\n",
      "No overlap found between modules 12 and 11\n",
      "Currently checking modules 12 and 13\n",
      "No overlap found between modules 12 and 13\n",
      "Currently checking modules 12 and 14\n",
      "No overlap found between modules 12 and 14\n",
      "Currently checking modules 12 and 15\n",
      "No overlap found between modules 12 and 15\n",
      "Currently checking modules 12 and 16\n",
      "No overlap found between modules 12 and 16\n",
      "Currently checking modules 12 and 17\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 12 and 18\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 12 and 19\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 12 and 20\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 12 and 21\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 12 and 22\n",
      "No overlap found between modules 12 and 22\n",
      "Currently checking modules 12 and 23\n",
      "No overlap found between modules 12 and 23\n",
      "Currently checking modules 12 and 24\n",
      "No overlap found between modules 12 and 24\n",
      "Currently checking modules 12 and 25\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 12 and 26\n",
      "No overlap found between modules 12 and 26\n",
      "Currently checking modules 12 and 27\n",
      "No overlap found between modules 12 and 27\n",
      "Currently checking modules 12 and 28\n",
      "No overlap found between modules 12 and 28\n",
      "Currently checking modules 12 and 29\n",
      "No overlap found between modules 12 and 29\n",
      "Currently checking modules 12 and 30\n",
      "No overlap found between modules 12 and 30\n",
      "Currently checking modules 12 and 31\n",
      "No overlap found between modules 12 and 31\n",
      "Currently checking modules 13 and 0 \n",
      "No overlap found between modules 13 and 0 \n",
      "Currently checking modules 13 and 1 \n",
      "No overlap found between modules 13 and 1 \n",
      "Currently checking modules 13 and 2 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 13 and 3 \n",
      "No overlap found between modules 13 and 3 \n",
      "Currently checking modules 13 and 4 \n",
      "No overlap found between modules 13 and 4 \n",
      "Currently checking modules 13 and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 13 and 6 \n",
      "No overlap found between modules 13 and 6 \n",
      "Currently checking modules 13 and 7 \n",
      "No overlap found between modules 13 and 7 \n",
      "Currently checking modules 13 and 8 \n",
      "No overlap found between modules 13 and 8 \n",
      "Currently checking modules 13 and 9 \n",
      "No overlap found between modules 13 and 9 \n",
      "Currently checking modules 13 and 10\n",
      "No overlap found between modules 13 and 10\n",
      "Currently checking modules 13 and 11\n",
      "No overlap found between modules 13 and 11\n",
      "Currently checking modules 13 and 12\n",
      "No overlap found between modules 13 and 12\n",
      "Currently checking modules 13 and 14\n",
      "No overlap found between modules 13 and 14\n",
      "Currently checking modules 13 and 15\n",
      "No overlap found between modules 13 and 15\n",
      "Currently checking modules 13 and 16\n",
      "No overlap found between modules 13 and 16\n",
      "Currently checking modules 13 and 17\n",
      "No overlap found between modules 13 and 17\n",
      "Currently checking modules 13 and 18\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 13 and 19\n",
      "No overlap found between modules 13 and 19\n",
      "Currently checking modules 13 and 20\n",
      "No overlap found between modules 13 and 20\n",
      "Currently checking modules 13 and 21\n",
      "No overlap found between modules 13 and 21\n",
      "Currently checking modules 13 and 22\n",
      "Found an overlap between the weight spaces (2, 0, 0, 0, 0) and (2, 1, 0, 0, 0)\n",
      "Currently checking modules 13 and 23\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 13 and 24\n",
      "No overlap found between modules 13 and 24\n",
      "Currently checking modules 13 and 25\n",
      "No overlap found between modules 13 and 25\n",
      "Currently checking modules 13 and 26\n",
      "No overlap found between modules 13 and 26\n",
      "Currently checking modules 13 and 27\n",
      "No overlap found between modules 13 and 27\n",
      "Currently checking modules 13 and 28\n",
      "No overlap found between modules 13 and 28\n",
      "Currently checking modules 13 and 29\n",
      "No overlap found between modules 13 and 29\n",
      "Currently checking modules 13 and 30\n",
      "No overlap found between modules 13 and 30\n",
      "Currently checking modules 13 and 31\n",
      "No overlap found between modules 13 and 31\n",
      "Currently checking modules 14 and 0 \n",
      "No overlap found between modules 14 and 0 \n",
      "Currently checking modules 14 and 1 \n",
      "No overlap found between modules 14 and 1 \n",
      "Currently checking modules 14 and 2 \n",
      "No overlap found between modules 14 and 2 \n",
      "Currently checking modules 14 and 3 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 14 and 4 \n",
      "No overlap found between modules 14 and 4 \n",
      "Currently checking modules 14 and 5 \n",
      "No overlap found between modules 14 and 5 \n",
      "Currently checking modules 14 and 6 \n",
      "No overlap found between modules 14 and 6 \n",
      "Currently checking modules 14 and 7 \n",
      "No overlap found between modules 14 and 7 \n",
      "Currently checking modules 14 and 8 \n",
      "No overlap found between modules 14 and 8 \n",
      "Currently checking modules 14 and 9 \n",
      "No overlap found between modules 14 and 9 \n",
      "Currently checking modules 14 and 10\n",
      "No overlap found between modules 14 and 10\n",
      "Currently checking modules 14 and 11\n",
      "No overlap found between modules 14 and 11\n",
      "Currently checking modules 14 and 12\n",
      "No overlap found between modules 14 and 12\n",
      "Currently checking modules 14 and 13\n",
      "No overlap found between modules 14 and 13\n",
      "Currently checking modules 14 and 15\n",
      "No overlap found between modules 14 and 15\n",
      "Currently checking modules 14 and 16\n",
      "No overlap found between modules 14 and 16\n",
      "Currently checking modules 14 and 17\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 14 and 18\n",
      "No overlap found between modules 14 and 18\n",
      "Currently checking modules 14 and 19\n",
      "No overlap found between modules 14 and 19\n",
      "Currently checking modules 14 and 20\n",
      "No overlap found between modules 14 and 20\n",
      "Currently checking modules 14 and 21\n",
      "No overlap found between modules 14 and 21\n",
      "Currently checking modules 14 and 22\n",
      "No overlap found between modules 14 and 22\n",
      "Currently checking modules 14 and 23\n",
      "No overlap found between modules 14 and 23\n",
      "Currently checking modules 14 and 24\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 14 and 25\n",
      "No overlap found between modules 14 and 25\n",
      "Currently checking modules 14 and 26\n",
      "No overlap found between modules 14 and 26\n",
      "Currently checking modules 14 and 27\n",
      "No overlap found between modules 14 and 27\n",
      "Currently checking modules 14 and 28\n",
      "No overlap found between modules 14 and 28\n",
      "Currently checking modules 14 and 29\n",
      "No overlap found between modules 14 and 29\n",
      "Currently checking modules 14 and 30\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No overlap found between modules 14 and 30\n",
      "Currently checking modules 14 and 31\n",
      "No overlap found between modules 14 and 31\n",
      "Currently checking modules 15 and 0 \n",
      "No overlap found between modules 15 and 0 \n",
      "Currently checking modules 15 and 1 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 15 and 2 \n",
      "No overlap found between modules 15 and 2 \n",
      "Currently checking modules 15 and 3 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 15 and 4 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 2, 0, 0, 0)\n",
      "Currently checking modules 15 and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 15 and 6 \n",
      "No overlap found between modules 15 and 6 \n",
      "Currently checking modules 15 and 7 \n",
      "No overlap found between modules 15 and 7 \n",
      "Currently checking modules 15 and 8 \n",
      "No overlap found between modules 15 and 8 \n",
      "Currently checking modules 15 and 9 \n",
      "No overlap found between modules 15 and 9 \n",
      "Currently checking modules 15 and 10\n",
      "No overlap found between modules 15 and 10\n",
      "Currently checking modules 15 and 11\n",
      "No overlap found between modules 15 and 11\n",
      "Currently checking modules 15 and 12\n",
      "No overlap found between modules 15 and 12\n",
      "Currently checking modules 15 and 13\n",
      "No overlap found between modules 15 and 13\n",
      "Currently checking modules 15 and 14\n",
      "No overlap found between modules 15 and 14\n",
      "Currently checking modules 15 and 16\n",
      "No overlap found between modules 15 and 16\n",
      "Currently checking modules 15 and 17\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 15 and 18\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 15 and 19\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 15 and 20\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 15 and 21\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 15 and 22\n",
      "No overlap found between modules 15 and 22\n",
      "Currently checking modules 15 and 23\n",
      "No overlap found between modules 15 and 23\n",
      "Currently checking modules 15 and 24\n",
      "No overlap found between modules 15 and 24\n",
      "Currently checking modules 15 and 25\n",
      "No overlap found between modules 15 and 25\n",
      "Currently checking modules 15 and 26\n",
      "No overlap found between modules 15 and 26\n",
      "Currently checking modules 15 and 27\n",
      "No overlap found between modules 15 and 27\n",
      "Currently checking modules 15 and 28\n",
      "No overlap found between modules 15 and 28\n",
      "Currently checking modules 15 and 29\n",
      "No overlap found between modules 15 and 29\n",
      "Currently checking modules 15 and 30\n",
      "No overlap found between modules 15 and 30\n",
      "Currently checking modules 15 and 31\n",
      "No overlap found between modules 15 and 31\n",
      "Currently checking modules 16 and 0 \n",
      "No overlap found between modules 16 and 0 \n",
      "Currently checking modules 16 and 1 \n",
      "No overlap found between modules 16 and 1 \n",
      "Currently checking modules 16 and 2 \n",
      "No overlap found between modules 16 and 2 \n",
      "Currently checking modules 16 and 3 \n",
      "No overlap found between modules 16 and 3 \n",
      "Currently checking modules 16 and 4 \n",
      "No overlap found between modules 16 and 4 \n",
      "Currently checking modules 16 and 5 \n",
      "Found an overlap between the weight spaces (0, 0, 0, 0, 0) and (0, 1, 0, 0, 0)\n",
      "Currently checking modules 16 and 6 \n",
      "No overlap found between modules 16 and 6 \n",
      "Currently checking modules 16 and 7 \n",
      "No overlap found between modules 16 and 7 \n",
      "Currently checking modules 16 and 8 \n",
      "No overlap found between modules 16 and 8 \n",
      "Currently checking modules 16 and 9 \n",
      "No overlap found between modules 16 and 9 \n",
      "Currently checking modules 16 and 10\n",
      "No overlap found between modules 16 and 10\n",
      "Currently checking modules 16 and 11\n",
      "No overlap found between modules 16 and 11\n",
      "Currently checking modules 16 and 12\n",
      "No overlap found between modules 16 and 12\n",
      "Currently checking modules 16 and 13\n",
      "No overlap found between modules 16 and 13\n",
      "Currently checking modules 16 and 14\n",
      "No overlap found between modules 16 and 14\n",
      "Currently checking modules 16 and 15\n",
      "No overlap found between modules 16 and 15\n",
      "Currently checking modules 16 and 17\n",
      "No overlap found between modules 16 and 17\n",
      "Currently checking modules 16 and 18\n",
      "Found an overlap between the weight spaces (0, 0, 0, 0, 0) and (0, 1, 0, 0, 0)\n",
      "Currently checking modules 16 and 19\n",
      "No overlap found between modules 16 and 19\n",
      "Currently checking modules 16 and 20\n",
      "No overlap found between modules 16 and 20\n",
      "Currently checking modules 16 and 21\n",
      "No overlap found between modules 16 and 21\n",
      "Currently checking modules 16 and 22\n",
      "No overlap found between modules 16 and 22\n",
      "Currently checking modules 16 and 23\n",
      "Found an overlap between the weight spaces (0, 0, 0, 0, 0) and (0, 1, 0, 0, 0)\n",
      "Currently checking modules 16 and 24\n",
      "No overlap found between modules 16 and 24\n",
      "Currently checking modules 16 and 25\n",
      "No overlap found between modules 16 and 25\n",
      "Currently checking modules 16 and 26\n",
      "No overlap found between modules 16 and 26\n",
      "Currently checking modules 16 and 27\n",
      "No overlap found between modules 16 and 27\n",
      "Currently checking modules 16 and 28\n",
      "No overlap found between modules 16 and 28\n",
      "Currently checking modules 16 and 29\n",
      "No overlap found between modules 16 and 29\n",
      "Currently checking modules 16 and 30\n",
      "No overlap found between modules 16 and 30\n",
      "Currently checking modules 16 and 31\n",
      "No overlap found between modules 16 and 31\n",
      "Currently checking modules 17 and 0 \n",
      "No overlap found between modules 17 and 0 \n",
      "Currently checking modules 17 and 1 \n",
      "No overlap found between modules 17 and 1 \n",
      "Currently checking modules 17 and 2 \n",
      "No overlap found between modules 17 and 2 \n",
      "Currently checking modules 17 and 3 \n",
      "No overlap found between modules 17 and 3 \n",
      "Currently checking modules 17 and 4 \n",
      "No overlap found between modules 17 and 4 \n",
      "Currently checking modules 17 and 5 \n",
      "No overlap found between modules 17 and 5 \n",
      "Currently checking modules 17 and 6 \n",
      "No overlap found between modules 17 and 6 \n",
      "Currently checking modules 17 and 7 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 0, 1, 1, -1)\n",
      "Currently checking modules 17 and 8 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 0, 1, 1, -1)\n",
      "Currently checking modules 17 and 9 \n",
      "No overlap found between modules 17 and 9 \n",
      "Currently checking modules 17 and 10\n",
      "No overlap found between modules 17 and 10\n",
      "Currently checking modules 17 and 11\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 17 and 12\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 0, 1, 1, -1)\n",
      "Currently checking modules 17 and 13\n",
      "No overlap found between modules 17 and 13\n",
      "Currently checking modules 17 and 14\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 17 and 15\n",
      "No overlap found between modules 17 and 15\n",
      "Currently checking modules 17 and 16\n",
      "No overlap found between modules 17 and 16\n",
      "Currently checking modules 17 and 18\n",
      "No overlap found between modules 17 and 18\n",
      "Currently checking modules 17 and 19\n",
      "No overlap found between modules 17 and 19\n",
      "Currently checking modules 17 and 20\n",
      "No overlap found between modules 17 and 20\n",
      "Currently checking modules 17 and 21\n",
      "No overlap found between modules 17 and 21\n",
      "Currently checking modules 17 and 22\n",
      "No overlap found between modules 17 and 22\n",
      "Currently checking modules 17 and 23\n",
      "No overlap found between modules 17 and 23\n",
      "Currently checking modules 17 and 24\n",
      "No overlap found between modules 17 and 24\n",
      "Currently checking modules 17 and 25\n",
      "No overlap found between modules 17 and 25\n",
      "Currently checking modules 17 and 26\n",
      "No overlap found between modules 17 and 26\n",
      "Currently checking modules 17 and 27\n",
      "No overlap found between modules 17 and 27\n",
      "Currently checking modules 17 and 28\n",
      "No overlap found between modules 17 and 28\n",
      "Currently checking modules 17 and 29\n",
      "No overlap found between modules 17 and 29\n",
      "Currently checking modules 17 and 30\n",
      "No overlap found between modules 17 and 30\n",
      "Currently checking modules 17 and 31\n",
      "No overlap found between modules 17 and 31\n",
      "Currently checking modules 18 and 0 \n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 18 and 1 \n",
      "No overlap found between modules 18 and 1 \n",
      "Currently checking modules 18 and 2 \n",
      "No overlap found between modules 18 and 2 \n",
      "Currently checking modules 18 and 3 \n",
      "No overlap found between modules 18 and 3 \n",
      "Currently checking modules 18 and 4 \n",
      "No overlap found between modules 18 and 4 \n",
      "Currently checking modules 18 and 5 \n",
      "No overlap found between modules 18 and 5 \n",
      "Currently checking modules 18 and 6 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 18 and 7 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 2, 1, 0, 0)\n",
      "Currently checking modules 18 and 8 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 18 and 9 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 2, 1, 0, 0)\n",
      "Currently checking modules 18 and 10\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 18 and 11\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 18 and 12\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 18 and 13\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 18 and 14\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 18 and 15\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 18 and 16\n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 18 and 17\n",
      "No overlap found between modules 18 and 17\n",
      "Currently checking modules 18 and 19\n",
      "No overlap found between modules 18 and 19\n",
      "Currently checking modules 18 and 20\n",
      "No overlap found between modules 18 and 20\n",
      "Currently checking modules 18 and 21\n",
      "No overlap found between modules 18 and 21\n",
      "Currently checking modules 18 and 22\n",
      "No overlap found between modules 18 and 22\n",
      "Currently checking modules 18 and 23\n",
      "No overlap found between modules 18 and 23\n",
      "Currently checking modules 18 and 24\n",
      "No overlap found between modules 18 and 24\n",
      "Currently checking modules 18 and 25\n",
      "No overlap found between modules 18 and 25\n",
      "Currently checking modules 18 and 26\n",
      "No overlap found between modules 18 and 26\n",
      "Currently checking modules 18 and 27\n",
      "No overlap found between modules 18 and 27\n",
      "Currently checking modules 18 and 28\n",
      "No overlap found between modules 18 and 28\n",
      "Currently checking modules 18 and 29\n",
      "No overlap found between modules 18 and 29\n",
      "Currently checking modules 18 and 30\n",
      "No overlap found between modules 18 and 30\n",
      "Currently checking modules 18 and 31\n",
      "No overlap found between modules 18 and 31\n",
      "Currently checking modules 19 and 0 \n",
      "No overlap found between modules 19 and 0 \n",
      "Currently checking modules 19 and 1 \n",
      "No overlap found between modules 19 and 1 \n",
      "Currently checking modules 19 and 2 \n",
      "No overlap found between modules 19 and 2 \n",
      "Currently checking modules 19 and 3 \n",
      "No overlap found between modules 19 and 3 \n",
      "Currently checking modules 19 and 4 \n",
      "No overlap found between modules 19 and 4 \n",
      "Currently checking modules 19 and 5 \n",
      "No overlap found between modules 19 and 5 \n",
      "Currently checking modules 19 and 6 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 2, 1, 1, -1)\n",
      "Currently checking modules 19 and 7 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 0, 1, 1, -1)\n",
      "Currently checking modules 19 and 8 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 0, 1, 1, -1)\n",
      "Currently checking modules 19 and 9 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 0, 1, 1, -1)\n",
      "Currently checking modules 19 and 10\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 0, 1, 1, -1)\n",
      "Currently checking modules 19 and 11\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 19 and 12\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, -1) and (1, 0, 1, 1, -1)\n",
      "Currently checking modules 19 and 13\n",
      "No overlap found between modules 19 and 13\n",
      "Currently checking modules 19 and 14\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 19 and 15\n",
      "No overlap found between modules 19 and 15\n",
      "Currently checking modules 19 and 16\n",
      "No overlap found between modules 19 and 16\n",
      "Currently checking modules 19 and 17\n",
      "No overlap found between modules 19 and 17\n",
      "Currently checking modules 19 and 18\n",
      "No overlap found between modules 19 and 18\n",
      "Currently checking modules 19 and 20\n",
      "No overlap found between modules 19 and 20\n",
      "Currently checking modules 19 and 21\n",
      "No overlap found between modules 19 and 21\n",
      "Currently checking modules 19 and 22\n",
      "No overlap found between modules 19 and 22\n",
      "Currently checking modules 19 and 23\n",
      "No overlap found between modules 19 and 23\n",
      "Currently checking modules 19 and 24\n",
      "No overlap found between modules 19 and 24\n",
      "Currently checking modules 19 and 25\n",
      "No overlap found between modules 19 and 25\n",
      "Currently checking modules 19 and 26\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 19 and 27\n",
      "No overlap found between modules 19 and 27\n",
      "Currently checking modules 19 and 28\n",
      "No overlap found between modules 19 and 28\n",
      "Currently checking modules 19 and 29\n",
      "No overlap found between modules 19 and 29\n",
      "Currently checking modules 19 and 30\n",
      "No overlap found between modules 19 and 30\n",
      "Currently checking modules 19 and 31\n",
      "No overlap found between modules 19 and 31\n",
      "Currently checking modules 20 and 0 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 2, 1, 1, 1)\n",
      "Currently checking modules 20 and 1 \n",
      "No overlap found between modules 20 and 1 \n",
      "Currently checking modules 20 and 2 \n",
      "No overlap found between modules 20 and 2 \n",
      "Currently checking modules 20 and 3 \n",
      "No overlap found between modules 20 and 3 \n",
      "Currently checking modules 20 and 4 \n",
      "No overlap found between modules 20 and 4 \n",
      "Currently checking modules 20 and 5 \n",
      "No overlap found between modules 20 and 5 \n",
      "Currently checking modules 20 and 6 \n",
      "No overlap found between modules 20 and 6 \n",
      "Currently checking modules 20 and 7 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 20 and 8 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 20 and 9 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 20 and 10\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 20 and 11\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 20 and 12\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 1) and (1, 0, 1, 1, 1)\n",
      "Currently checking modules 20 and 13\n",
      "No overlap found between modules 20 and 13\n",
      "Currently checking modules 20 and 14\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 20 and 15\n",
      "No overlap found between modules 20 and 15\n",
      "Currently checking modules 20 and 16\n",
      "No overlap found between modules 20 and 16\n",
      "Currently checking modules 20 and 17\n",
      "No overlap found between modules 20 and 17\n",
      "Currently checking modules 20 and 18\n",
      "No overlap found between modules 20 and 18\n",
      "Currently checking modules 20 and 19\n",
      "No overlap found between modules 20 and 19\n",
      "Currently checking modules 20 and 21\n",
      "No overlap found between modules 20 and 21\n",
      "Currently checking modules 20 and 22\n",
      "No overlap found between modules 20 and 22\n",
      "Currently checking modules 20 and 23\n",
      "No overlap found between modules 20 and 23\n",
      "Currently checking modules 20 and 24\n",
      "No overlap found between modules 20 and 24\n",
      "Currently checking modules 20 and 25\n",
      "No overlap found between modules 20 and 25\n",
      "Currently checking modules 20 and 26\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 20 and 27\n",
      "No overlap found between modules 20 and 27\n",
      "Currently checking modules 20 and 28\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No overlap found between modules 20 and 28\n",
      "Currently checking modules 20 and 29\n",
      "No overlap found between modules 20 and 29\n",
      "Currently checking modules 20 and 30\n",
      "No overlap found between modules 20 and 30\n",
      "Currently checking modules 20 and 31\n",
      "No overlap found between modules 20 and 31\n",
      "Currently checking modules 21 and 0 \n",
      "No overlap found between modules 21 and 0 \n",
      "Currently checking modules 21 and 1 \n",
      "No overlap found between modules 21 and 1 \n",
      "Currently checking modules 21 and 2 \n",
      "No overlap found between modules 21 and 2 \n",
      "Currently checking modules 21 and 3 \n",
      "No overlap found between modules 21 and 3 \n",
      "Currently checking modules 21 and 4 \n",
      "No overlap found between modules 21 and 4 \n",
      "Currently checking modules 21 and 5 \n",
      "No overlap found between modules 21 and 5 \n",
      "Currently checking modules 21 and 6 \n",
      "No overlap found between modules 21 and 6 \n",
      "Currently checking modules 21 and 7 \n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 21 and 8 \n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 21 and 9 \n",
      "No overlap found between modules 21 and 9 \n",
      "Currently checking modules 21 and 10\n",
      "No overlap found between modules 21 and 10\n",
      "Currently checking modules 21 and 11\n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 21 and 12\n",
      "No overlap found between modules 21 and 12\n",
      "Currently checking modules 21 and 13\n",
      "No overlap found between modules 21 and 13\n",
      "Currently checking modules 21 and 14\n",
      "No overlap found between modules 21 and 14\n",
      "Currently checking modules 21 and 15\n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 21 and 16\n",
      "No overlap found between modules 21 and 16\n",
      "Currently checking modules 21 and 17\n",
      "No overlap found between modules 21 and 17\n",
      "Currently checking modules 21 and 18\n",
      "No overlap found between modules 21 and 18\n",
      "Currently checking modules 21 and 19\n",
      "No overlap found between modules 21 and 19\n",
      "Currently checking modules 21 and 20\n",
      "No overlap found between modules 21 and 20\n",
      "Currently checking modules 21 and 22\n",
      "No overlap found between modules 21 and 22\n",
      "Currently checking modules 21 and 23\n",
      "No overlap found between modules 21 and 23\n",
      "Currently checking modules 21 and 24\n",
      "No overlap found between modules 21 and 24\n",
      "Currently checking modules 21 and 25\n",
      "No overlap found between modules 21 and 25\n",
      "Currently checking modules 21 and 26\n",
      "No overlap found between modules 21 and 26\n",
      "Currently checking modules 21 and 27\n",
      "No overlap found between modules 21 and 27\n",
      "Currently checking modules 21 and 28\n",
      "No overlap found between modules 21 and 28\n",
      "Currently checking modules 21 and 29\n",
      "No overlap found between modules 21 and 29\n",
      "Currently checking modules 21 and 30\n",
      "No overlap found between modules 21 and 30\n",
      "Currently checking modules 21 and 31\n",
      "No overlap found between modules 21 and 31\n",
      "Currently checking modules 22 and 0 \n",
      "No overlap found between modules 22 and 0 \n",
      "Currently checking modules 22 and 1 \n",
      "No overlap found between modules 22 and 1 \n",
      "Currently checking modules 22 and 2 \n",
      "No overlap found between modules 22 and 2 \n",
      "Currently checking modules 22 and 3 \n",
      "No overlap found between modules 22 and 3 \n",
      "Currently checking modules 22 and 4 \n",
      "No overlap found between modules 22 and 4 \n",
      "Currently checking modules 22 and 5 \n",
      "No overlap found between modules 22 and 5 \n",
      "Currently checking modules 22 and 6 \n",
      "No overlap found between modules 22 and 6 \n",
      "Currently checking modules 22 and 7 \n",
      "No overlap found between modules 22 and 7 \n",
      "Currently checking modules 22 and 8 \n",
      "No overlap found between modules 22 and 8 \n",
      "Currently checking modules 22 and 9 \n",
      "Found an overlap between the weight spaces (1, 2, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 22 and 10\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 22 and 11\n",
      "No overlap found between modules 22 and 11\n",
      "Currently checking modules 22 and 12\n",
      "No overlap found between modules 22 and 12\n",
      "Currently checking modules 22 and 13\n",
      "Found an overlap between the weight spaces (2, 1, 0, 0, 0) and (2, 0, 0, 0, 0)\n",
      "Currently checking modules 22 and 14\n",
      "Found an overlap between the weight spaces (1, 2, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 22 and 15\n",
      "No overlap found between modules 22 and 15\n",
      "Currently checking modules 22 and 16\n",
      "No overlap found between modules 22 and 16\n",
      "Currently checking modules 22 and 17\n",
      "No overlap found between modules 22 and 17\n",
      "Currently checking modules 22 and 18\n",
      "No overlap found between modules 22 and 18\n",
      "Currently checking modules 22 and 19\n",
      "No overlap found between modules 22 and 19\n",
      "Currently checking modules 22 and 20\n",
      "No overlap found between modules 22 and 20\n",
      "Currently checking modules 22 and 21\n",
      "No overlap found between modules 22 and 21\n",
      "Currently checking modules 22 and 23\n",
      "No overlap found between modules 22 and 23\n",
      "Currently checking modules 22 and 24\n",
      "No overlap found between modules 22 and 24\n",
      "Currently checking modules 22 and 25\n",
      "No overlap found between modules 22 and 25\n",
      "Currently checking modules 22 and 26\n",
      "No overlap found between modules 22 and 26\n",
      "Currently checking modules 22 and 27\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 22 and 28\n",
      "No overlap found between modules 22 and 28\n",
      "Currently checking modules 22 and 29\n",
      "No overlap found between modules 22 and 29\n",
      "Currently checking modules 22 and 30\n",
      "No overlap found between modules 22 and 30\n",
      "Currently checking modules 22 and 31\n",
      "No overlap found between modules 22 and 31\n",
      "Currently checking modules 23 and 0 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 23 and 1 \n",
      "No overlap found between modules 23 and 1 \n",
      "Currently checking modules 23 and 2 \n",
      "No overlap found between modules 23 and 2 \n",
      "Currently checking modules 23 and 3 \n",
      "No overlap found between modules 23 and 3 \n",
      "Currently checking modules 23 and 4 \n",
      "No overlap found between modules 23 and 4 \n",
      "Currently checking modules 23 and 5 \n",
      "No overlap found between modules 23 and 5 \n",
      "Currently checking modules 23 and 6 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 23 and 7 \n",
      "No overlap found between modules 23 and 7 \n",
      "Currently checking modules 23 and 8 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 23 and 9 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 2, 1, 0, 0)\n",
      "Currently checking modules 23 and 10\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 23 and 11\n",
      "No overlap found between modules 23 and 11\n",
      "Currently checking modules 23 and 12\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 23 and 13\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 23 and 14\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 23 and 15\n",
      "No overlap found between modules 23 and 15\n",
      "Currently checking modules 23 and 16\n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 23 and 17\n",
      "No overlap found between modules 23 and 17\n",
      "Currently checking modules 23 and 18\n",
      "No overlap found between modules 23 and 18\n",
      "Currently checking modules 23 and 19\n",
      "No overlap found between modules 23 and 19\n",
      "Currently checking modules 23 and 20\n",
      "No overlap found between modules 23 and 20\n",
      "Currently checking modules 23 and 21\n",
      "No overlap found between modules 23 and 21\n",
      "Currently checking modules 23 and 22\n",
      "No overlap found between modules 23 and 22\n",
      "Currently checking modules 23 and 24\n",
      "No overlap found between modules 23 and 24\n",
      "Currently checking modules 23 and 25\n",
      "No overlap found between modules 23 and 25\n",
      "Currently checking modules 23 and 26\n",
      "No overlap found between modules 23 and 26\n",
      "Currently checking modules 23 and 27\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 23 and 28\n",
      "No overlap found between modules 23 and 28\n",
      "Currently checking modules 23 and 29\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No overlap found between modules 23 and 29\n",
      "Currently checking modules 23 and 30\n",
      "No overlap found between modules 23 and 30\n",
      "Currently checking modules 23 and 31\n",
      "No overlap found between modules 23 and 31\n",
      "Currently checking modules 24 and 0 \n",
      "No overlap found between modules 24 and 0 \n",
      "Currently checking modules 24 and 1 \n",
      "No overlap found between modules 24 and 1 \n",
      "Currently checking modules 24 and 2 \n",
      "No overlap found between modules 24 and 2 \n",
      "Currently checking modules 24 and 3 \n",
      "No overlap found between modules 24 and 3 \n",
      "Currently checking modules 24 and 4 \n",
      "No overlap found between modules 24 and 4 \n",
      "Currently checking modules 24 and 5 \n",
      "No overlap found between modules 24 and 5 \n",
      "Currently checking modules 24 and 6 \n",
      "No overlap found between modules 24 and 6 \n",
      "Currently checking modules 24 and 7 \n",
      "No overlap found between modules 24 and 7 \n",
      "Currently checking modules 24 and 8 \n",
      "No overlap found between modules 24 and 8 \n",
      "Currently checking modules 24 and 9 \n",
      "No overlap found between modules 24 and 9 \n",
      "Currently checking modules 24 and 10\n",
      "No overlap found between modules 24 and 10\n",
      "Currently checking modules 24 and 11\n",
      "No overlap found between modules 24 and 11\n",
      "Currently checking modules 24 and 12\n",
      "No overlap found between modules 24 and 12\n",
      "Currently checking modules 24 and 13\n",
      "No overlap found between modules 24 and 13\n",
      "Currently checking modules 24 and 14\n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 24 and 15\n",
      "No overlap found between modules 24 and 15\n",
      "Currently checking modules 24 and 16\n",
      "No overlap found between modules 24 and 16\n",
      "Currently checking modules 24 and 17\n",
      "No overlap found between modules 24 and 17\n",
      "Currently checking modules 24 and 18\n",
      "No overlap found between modules 24 and 18\n",
      "Currently checking modules 24 and 19\n",
      "No overlap found between modules 24 and 19\n",
      "Currently checking modules 24 and 20\n",
      "No overlap found between modules 24 and 20\n",
      "Currently checking modules 24 and 21\n",
      "No overlap found between modules 24 and 21\n",
      "Currently checking modules 24 and 22\n",
      "No overlap found between modules 24 and 22\n",
      "Currently checking modules 24 and 23\n",
      "No overlap found between modules 24 and 23\n",
      "Currently checking modules 24 and 25\n",
      "No overlap found between modules 24 and 25\n",
      "Currently checking modules 24 and 26\n",
      "No overlap found between modules 24 and 26\n",
      "Currently checking modules 24 and 27\n",
      "No overlap found between modules 24 and 27\n",
      "Currently checking modules 24 and 28\n",
      "No overlap found between modules 24 and 28\n",
      "Currently checking modules 24 and 29\n",
      "No overlap found between modules 24 and 29\n",
      "Currently checking modules 24 and 30\n",
      "No overlap found between modules 24 and 30\n",
      "Currently checking modules 24 and 31\n",
      "No overlap found between modules 24 and 31\n",
      "Currently checking modules 25 and 0 \n",
      "No overlap found between modules 25 and 0 \n",
      "Currently checking modules 25 and 1 \n",
      "No overlap found between modules 25 and 1 \n",
      "Currently checking modules 25 and 2 \n",
      "No overlap found between modules 25 and 2 \n",
      "Currently checking modules 25 and 3 \n",
      "No overlap found between modules 25 and 3 \n",
      "Currently checking modules 25 and 4 \n",
      "No overlap found between modules 25 and 4 \n",
      "Currently checking modules 25 and 5 \n",
      "No overlap found between modules 25 and 5 \n",
      "Currently checking modules 25 and 6 \n",
      "No overlap found between modules 25 and 6 \n",
      "Currently checking modules 25 and 7 \n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 25 and 8 \n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 25 and 9 \n",
      "No overlap found between modules 25 and 9 \n",
      "Currently checking modules 25 and 10\n",
      "No overlap found between modules 25 and 10\n",
      "Currently checking modules 25 and 11\n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 25 and 12\n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 25 and 13\n",
      "No overlap found between modules 25 and 13\n",
      "Currently checking modules 25 and 14\n",
      "No overlap found between modules 25 and 14\n",
      "Currently checking modules 25 and 15\n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 25 and 16\n",
      "No overlap found between modules 25 and 16\n",
      "Currently checking modules 25 and 17\n",
      "No overlap found between modules 25 and 17\n",
      "Currently checking modules 25 and 18\n",
      "No overlap found between modules 25 and 18\n",
      "Currently checking modules 25 and 19\n",
      "No overlap found between modules 25 and 19\n",
      "Currently checking modules 25 and 20\n",
      "No overlap found between modules 25 and 20\n",
      "Currently checking modules 25 and 21\n",
      "No overlap found between modules 25 and 21\n",
      "Currently checking modules 25 and 22\n",
      "No overlap found between modules 25 and 22\n",
      "Currently checking modules 25 and 23\n",
      "No overlap found between modules 25 and 23\n",
      "Currently checking modules 25 and 24\n",
      "No overlap found between modules 25 and 24\n",
      "Currently checking modules 25 and 26\n",
      "No overlap found between modules 25 and 26\n",
      "Currently checking modules 25 and 27\n",
      "No overlap found between modules 25 and 27\n",
      "Currently checking modules 25 and 28\n",
      "No overlap found between modules 25 and 28\n",
      "Currently checking modules 25 and 29\n",
      "No overlap found between modules 25 and 29\n",
      "Currently checking modules 25 and 30\n",
      "No overlap found between modules 25 and 30\n",
      "Currently checking modules 25 and 31\n",
      "No overlap found between modules 25 and 31\n",
      "Currently checking modules 26 and 0 \n",
      "No overlap found between modules 26 and 0 \n",
      "Currently checking modules 26 and 1 \n",
      "No overlap found between modules 26 and 1 \n",
      "Currently checking modules 26 and 2 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 26 and 3 \n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 26 and 4 \n",
      "No overlap found between modules 26 and 4 \n",
      "Currently checking modules 26 and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 26 and 6 \n",
      "No overlap found between modules 26 and 6 \n",
      "Currently checking modules 26 and 7 \n",
      "No overlap found between modules 26 and 7 \n",
      "Currently checking modules 26 and 8 \n",
      "No overlap found between modules 26 and 8 \n",
      "Currently checking modules 26 and 9 \n",
      "No overlap found between modules 26 and 9 \n",
      "Currently checking modules 26 and 10\n",
      "No overlap found between modules 26 and 10\n",
      "Currently checking modules 26 and 11\n",
      "No overlap found between modules 26 and 11\n",
      "Currently checking modules 26 and 12\n",
      "No overlap found between modules 26 and 12\n",
      "Currently checking modules 26 and 13\n",
      "No overlap found between modules 26 and 13\n",
      "Currently checking modules 26 and 14\n",
      "No overlap found between modules 26 and 14\n",
      "Currently checking modules 26 and 15\n",
      "No overlap found between modules 26 and 15\n",
      "Currently checking modules 26 and 16\n",
      "No overlap found between modules 26 and 16\n",
      "Currently checking modules 26 and 17\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 26 and 18\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 26 and 19\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 26 and 20\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 26 and 21\n",
      "No overlap found between modules 26 and 21\n",
      "Currently checking modules 26 and 22\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 2, 0, 0, 0)\n",
      "Currently checking modules 26 and 23\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 26 and 24\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 26 and 25\n",
      "No overlap found between modules 26 and 25\n",
      "Currently checking modules 26 and 27\n",
      "No overlap found between modules 26 and 27\n",
      "Currently checking modules 26 and 28\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 26 and 29\n",
      "No overlap found between modules 26 and 29\n",
      "Currently checking modules 26 and 30\n",
      "No overlap found between modules 26 and 30\n",
      "Currently checking modules 26 and 31\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "No overlap found between modules 26 and 31\n",
      "Currently checking modules 27 and 0 \n",
      "No overlap found between modules 27 and 0 \n",
      "Currently checking modules 27 and 1 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 27 and 2 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 2, 1, 1, 0)\n",
      "Currently checking modules 27 and 3 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 27 and 4 \n",
      "No overlap found between modules 27 and 4 \n",
      "Currently checking modules 27 and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 27 and 6 \n",
      "No overlap found between modules 27 and 6 \n",
      "Currently checking modules 27 and 7 \n",
      "No overlap found between modules 27 and 7 \n",
      "Currently checking modules 27 and 8 \n",
      "No overlap found between modules 27 and 8 \n",
      "Currently checking modules 27 and 9 \n",
      "No overlap found between modules 27 and 9 \n",
      "Currently checking modules 27 and 10\n",
      "No overlap found between modules 27 and 10\n",
      "Currently checking modules 27 and 11\n",
      "No overlap found between modules 27 and 11\n",
      "Currently checking modules 27 and 12\n",
      "No overlap found between modules 27 and 12\n",
      "Currently checking modules 27 and 13\n",
      "No overlap found between modules 27 and 13\n",
      "Currently checking modules 27 and 14\n",
      "No overlap found between modules 27 and 14\n",
      "Currently checking modules 27 and 15\n",
      "No overlap found between modules 27 and 15\n",
      "Currently checking modules 27 and 16\n",
      "No overlap found between modules 27 and 16\n",
      "Currently checking modules 27 and 17\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 27 and 18\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 27 and 19\n",
      "No overlap found between modules 27 and 19\n",
      "Currently checking modules 27 and 20\n",
      "No overlap found between modules 27 and 20\n",
      "Currently checking modules 27 and 21\n",
      "No overlap found between modules 27 and 21\n",
      "Currently checking modules 27 and 22\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 27 and 23\n",
      "Found an overlap between the weight spaces (1, 1, 1, 1, 0) and (1, 0, 1, 1, 0)\n",
      "Currently checking modules 27 and 24\n",
      "Found an overlap between the weight spaces (0, 1, 1, 0, 0) and (0, 0, 1, 0, 0)\n",
      "Currently checking modules 27 and 25\n",
      "No overlap found between modules 27 and 25\n",
      "Currently checking modules 27 and 26\n",
      "No overlap found between modules 27 and 26\n",
      "Currently checking modules 27 and 28\n",
      "No overlap found between modules 27 and 28\n",
      "Currently checking modules 27 and 29\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 1) and (0, 0, 1, 1, 1)\n",
      "Currently checking modules 27 and 30\n",
      "No overlap found between modules 27 and 30\n",
      "Currently checking modules 27 and 31\n",
      "No overlap found between modules 27 and 31\n",
      "Currently checking modules 28 and 0 \n",
      "No overlap found between modules 28 and 0 \n",
      "Currently checking modules 28 and 1 \n",
      "No overlap found between modules 28 and 1 \n",
      "Currently checking modules 28 and 2 \n",
      "No overlap found between modules 28 and 2 \n",
      "Currently checking modules 28 and 3 \n",
      "No overlap found between modules 28 and 3 \n",
      "Currently checking modules 28 and 4 \n",
      "No overlap found between modules 28 and 4 \n",
      "Currently checking modules 28 and 5 \n",
      "No overlap found between modules 28 and 5 \n",
      "Currently checking modules 28 and 6 \n",
      "No overlap found between modules 28 and 6 \n",
      "Currently checking modules 28 and 7 \n",
      "No overlap found between modules 28 and 7 \n",
      "Currently checking modules 28 and 8 \n",
      "No overlap found between modules 28 and 8 \n",
      "Currently checking modules 28 and 9 \n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 28 and 10\n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 28 and 11\n",
      "No overlap found between modules 28 and 11\n",
      "Currently checking modules 28 and 12\n",
      "No overlap found between modules 28 and 12\n",
      "Currently checking modules 28 and 13\n",
      "No overlap found between modules 28 and 13\n",
      "Currently checking modules 28 and 14\n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 28 and 15\n",
      "No overlap found between modules 28 and 15\n",
      "Currently checking modules 28 and 16\n",
      "No overlap found between modules 28 and 16\n",
      "Currently checking modules 28 and 17\n",
      "No overlap found between modules 28 and 17\n",
      "Currently checking modules 28 and 18\n",
      "No overlap found between modules 28 and 18\n",
      "Currently checking modules 28 and 19\n",
      "No overlap found between modules 28 and 19\n",
      "Currently checking modules 28 and 20\n",
      "No overlap found between modules 28 and 20\n",
      "Currently checking modules 28 and 21\n",
      "No overlap found between modules 28 and 21\n",
      "Currently checking modules 28 and 22\n",
      "No overlap found between modules 28 and 22\n",
      "Currently checking modules 28 and 23\n",
      "No overlap found between modules 28 and 23\n",
      "Currently checking modules 28 and 24\n",
      "No overlap found between modules 28 and 24\n",
      "Currently checking modules 28 and 25\n",
      "No overlap found between modules 28 and 25\n",
      "Currently checking modules 28 and 26\n",
      "Found an overlap between the weight spaces (1, 0, 0, 0, 0) and (1, 1, 0, 0, 0)\n",
      "Currently checking modules 28 and 27\n",
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 28 and 29\n",
      "No overlap found between modules 28 and 29\n",
      "Currently checking modules 28 and 30\n",
      "No overlap found between modules 28 and 30\n",
      "Currently checking modules 28 and 31\n",
      "No overlap found between modules 28 and 31\n",
      "Currently checking modules 29 and 0 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 29 and 1 \n",
      "No overlap found between modules 29 and 1 \n",
      "Currently checking modules 29 and 2 \n",
      "No overlap found between modules 29 and 2 \n",
      "Currently checking modules 29 and 3 \n",
      "No overlap found between modules 29 and 3 \n",
      "Currently checking modules 29 and 4 \n",
      "No overlap found between modules 29 and 4 \n",
      "Currently checking modules 29 and 5 \n",
      "No overlap found between modules 29 and 5 \n",
      "Currently checking modules 29 and 6 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 29 and 7 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 2, 1, 0, 0)\n",
      "Currently checking modules 29 and 8 \n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 29 and 9 \n",
      "No overlap found between modules 29 and 9 \n",
      "Currently checking modules 29 and 10\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 29 and 11\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 29 and 12\n",
      "No overlap found between modules 29 and 12\n",
      "Currently checking modules 29 and 13\n",
      "No overlap found between modules 29 and 13\n",
      "Currently checking modules 29 and 14\n",
      "No overlap found between modules 29 and 14\n",
      "Currently checking modules 29 and 15\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 29 and 16\n",
      "No overlap found between modules 29 and 16\n",
      "Currently checking modules 29 and 17\n",
      "No overlap found between modules 29 and 17\n",
      "Currently checking modules 29 and 18\n",
      "No overlap found between modules 29 and 18\n",
      "Currently checking modules 29 and 19\n",
      "No overlap found between modules 29 and 19\n",
      "Currently checking modules 29 and 20\n",
      "No overlap found between modules 29 and 20\n",
      "Currently checking modules 29 and 21\n",
      "No overlap found between modules 29 and 21\n",
      "Currently checking modules 29 and 22\n",
      "No overlap found between modules 29 and 22\n",
      "Currently checking modules 29 and 23\n",
      "No overlap found between modules 29 and 23\n",
      "Currently checking modules 29 and 24\n",
      "No overlap found between modules 29 and 24\n",
      "Currently checking modules 29 and 25\n",
      "No overlap found between modules 29 and 25\n",
      "Currently checking modules 29 and 26\n",
      "No overlap found between modules 29 and 26\n",
      "Currently checking modules 29 and 27\n",
      "Found an overlap between the weight spaces (0, 1, 1, 1, 0) and (0, 0, 1, 1, 0)\n",
      "Currently checking modules 29 and 28\n",
      "No overlap found between modules 29 and 28\n",
      "Currently checking modules 29 and 30\n",
      "Found an overlap between the weight spaces (1, 1, 1, 0, 0) and (1, 0, 1, 0, 0)\n",
      "Currently checking modules 29 and 31\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found an overlap between the weight spaces (0, 1, 0, 0, 0) and (0, 0, 0, 0, 0)\n",
      "Currently checking modules 30 and 0 \n",
      "No overlap found between modules 30 and 0 \n",
      "Currently checking modules 30 and 1 \n",
      "No overlap found between modules 30 and 1 \n",
      "Currently checking modules 30 and 2 \n",
      "No overlap found between modules 30 and 2 \n",
      "Currently checking modules 30 and 3 \n",
      "No overlap found between modules 30 and 3 \n",
      "Currently checking modules 30 and 4 \n",
      "No overlap found between modules 30 and 4 \n",
      "Currently checking modules 30 and 5 \n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 30 and 6 \n",
      "No overlap found between modules 30 and 6 \n",
      "Currently checking modules 30 and 7 \n",
      "No overlap found between modules 30 and 7 \n",
      "Currently checking modules 30 and 8 \n",
      "No overlap found between modules 30 and 8 \n",
      "Currently checking modules 30 and 9 \n",
      "No overlap found between modules 30 and 9 \n",
      "Currently checking modules 30 and 10\n",
      "No overlap found between modules 30 and 10\n",
      "Currently checking modules 30 and 11\n",
      "No overlap found between modules 30 and 11\n",
      "Currently checking modules 30 and 12\n",
      "No overlap found between modules 30 and 12\n",
      "Currently checking modules 30 and 13\n",
      "No overlap found between modules 30 and 13\n",
      "Currently checking modules 30 and 14\n",
      "No overlap found between modules 30 and 14\n",
      "Currently checking modules 30 and 15\n",
      "No overlap found between modules 30 and 15\n",
      "Currently checking modules 30 and 16\n",
      "No overlap found between modules 30 and 16\n",
      "Currently checking modules 30 and 17\n",
      "No overlap found between modules 30 and 17\n",
      "Currently checking modules 30 and 18\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 30 and 19\n",
      "No overlap found between modules 30 and 19\n",
      "Currently checking modules 30 and 20\n",
      "No overlap found between modules 30 and 20\n",
      "Currently checking modules 30 and 21\n",
      "No overlap found between modules 30 and 21\n",
      "Currently checking modules 30 and 22\n",
      "No overlap found between modules 30 and 22\n",
      "Currently checking modules 30 and 23\n",
      "No overlap found between modules 30 and 23\n",
      "Currently checking modules 30 and 24\n",
      "No overlap found between modules 30 and 24\n",
      "Currently checking modules 30 and 25\n",
      "No overlap found between modules 30 and 25\n",
      "Currently checking modules 30 and 26\n",
      "No overlap found between modules 30 and 26\n",
      "Currently checking modules 30 and 27\n",
      "No overlap found between modules 30 and 27\n",
      "Currently checking modules 30 and 28\n",
      "No overlap found between modules 30 and 28\n",
      "Currently checking modules 30 and 29\n",
      "Found an overlap between the weight spaces (1, 1, 0, 0, 0) and (1, 0, 0, 0, 0)\n",
      "Currently checking modules 30 and 31\n",
      "No overlap found between modules 30 and 31\n",
      "Currently checking modules 31 and 0 \n",
      "No overlap found between modules 31 and 0 \n",
      "Currently checking modules 31 and 1 \n",
      "No overlap found between modules 31 and 1 \n",
      "Currently checking modules 31 and 2 \n",
      "No overlap found between modules 31 and 2 \n",
      "Currently checking modules 31 and 3 \n",
      "No overlap found between modules 31 and 3 \n",
      "Currently checking modules 31 and 4 \n",
      "No overlap found between modules 31 and 4 \n",
      "Currently checking modules 31 and 5 \n",
      "Found an overlap between the weight spaces (0, 0, 0, 0, 0) and (0, 1, 0, 0, 0)\n",
      "Currently checking modules 31 and 6 \n",
      "No overlap found between modules 31 and 6 \n",
      "Currently checking modules 31 and 7 \n",
      "No overlap found between modules 31 and 7 \n",
      "Currently checking modules 31 and 8 \n",
      "No overlap found between modules 31 and 8 \n",
      "Currently checking modules 31 and 9 \n",
      "No overlap found between modules 31 and 9 \n",
      "Currently checking modules 31 and 10\n",
      "No overlap found between modules 31 and 10\n",
      "Currently checking modules 31 and 11\n",
      "No overlap found between modules 31 and 11\n",
      "Currently checking modules 31 and 12\n",
      "No overlap found between modules 31 and 12\n",
      "Currently checking modules 31 and 13\n",
      "No overlap found between modules 31 and 13\n",
      "Currently checking modules 31 and 14\n",
      "No overlap found between modules 31 and 14\n",
      "Currently checking modules 31 and 15\n",
      "No overlap found between modules 31 and 15\n",
      "Currently checking modules 31 and 16\n",
      "No overlap found between modules 31 and 16\n",
      "Currently checking modules 31 and 17\n",
      "No overlap found between modules 31 and 17\n",
      "Currently checking modules 31 and 18\n",
      "Found an overlap between the weight spaces (0, 0, 0, 0, 0) and (0, 1, 0, 0, 0)\n",
      "Currently checking modules 31 and 19\n",
      "No overlap found between modules 31 and 19\n",
      "Currently checking modules 31 and 20\n",
      "No overlap found between modules 31 and 20\n",
      "Currently checking modules 31 and 21\n",
      "No overlap found between modules 31 and 21\n",
      "Currently checking modules 31 and 22\n",
      "No overlap found between modules 31 and 22\n",
      "Currently checking modules 31 and 23\n",
      "No overlap found between modules 31 and 23\n",
      "Currently checking modules 31 and 24\n",
      "No overlap found between modules 31 and 24\n",
      "Currently checking modules 31 and 25\n",
      "No overlap found between modules 31 and 25\n",
      "Currently checking modules 31 and 26\n",
      "No overlap found between modules 31 and 26\n",
      "Currently checking modules 31 and 27\n",
      "No overlap found between modules 31 and 27\n",
      "Currently checking modules 31 and 28\n",
      "No overlap found between modules 31 and 28\n",
      "Currently checking modules 31 and 29\n",
      "Found an overlap between the weight spaces (0, 0, 0, 0, 0) and (0, 1, 0, 0, 0)\n",
      "Currently checking modules 31 and 30\n",
      "No overlap found between modules 31 and 30\n",
      "\n",
      "Found the following adjacency matrix for the orbit:\n",
      "[0 1 1 1 1 1 0 0 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",
      "[1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[1 0 0 0 0 0 1 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0]\n",
      "[0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0]\n",
      "[0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0]\n",
      "[0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0]\n",
      "[0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0]\n",
      "[0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0]\n",
      "[0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0]\n",
      "[1 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0]\n",
      "[0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]\n",
      "[1 0 0 0 0 0 1 0 1 1 1 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]\n",
      "[0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]\n",
      "[0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0]\n",
      "[0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 1 0 0]\n",
      "[0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0]\n",
      "[1 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1]\n",
      "[0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0]\n",
      "[0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0]\n",
      "Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module: True\n",
      "Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\n",
      "Checking modules 0 and 1 for orthogonality\n",
      "Checking modules 0 and 2 for orthogonality\n",
      "Checking modules 0 and 3 for orthogonality\n",
      "Checking modules 0 and 4 for orthogonality\n",
      "Checking modules 0 and 5 for orthogonality\n",
      "Checking modules 0 and 6 for orthogonality\n",
      "Checking modules 0 and 7 for orthogonality\n",
      "Checking modules 0 and 8 for orthogonality\n",
      "Checking modules 0 and 9 for orthogonality\n",
      "Checking modules 0 and 10 for orthogonality\n",
      "Checking modules 0 and 11 for orthogonality\n",
      "Checking modules 0 and 12 for orthogonality\n",
      "Checking modules 0 and 13 for orthogonality\n",
      "Checking modules 0 and 14 for orthogonality\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Checking modules 0 and 15 for orthogonality\n",
      "Checking modules 0 and 16 for orthogonality\n",
      "Checking modules 0 and 17 for orthogonality\n",
      "Checking modules 0 and 18 for orthogonality\n",
      "Checking modules 0 and 19 for orthogonality\n",
      "Checking modules 0 and 20 for orthogonality\n",
      "Checking modules 0 and 21 for orthogonality\n",
      "Checking modules 0 and 22 for orthogonality\n",
      "Checking modules 0 and 23 for orthogonality\n",
      "Checking modules 0 and 24 for orthogonality\n",
      "Checking modules 0 and 25 for orthogonality\n",
      "Checking modules 0 and 26 for orthogonality\n",
      "Checking modules 0 and 27 for orthogonality\n",
      "Checking modules 0 and 28 for orthogonality\n",
      "Checking modules 0 and 29 for orthogonality\n",
      "Checking modules 0 and 30 for orthogonality\n",
      "Checking modules 0 and 31 for orthogonality\n",
      "Checking modules 1 and 2 for orthogonality\n",
      "Checking modules 1 and 3 for orthogonality\n",
      "Checking modules 1 and 4 for orthogonality\n",
      "Checking modules 1 and 5 for orthogonality\n",
      "Checking modules 1 and 6 for orthogonality\n",
      "Checking modules 1 and 7 for orthogonality\n",
      "Checking modules 1 and 8 for orthogonality\n",
      "Checking modules 1 and 9 for orthogonality\n",
      "Checking modules 1 and 10 for orthogonality\n",
      "Checking modules 1 and 11 for orthogonality\n",
      "Checking modules 1 and 12 for orthogonality\n",
      "Checking modules 1 and 13 for orthogonality\n",
      "Checking modules 1 and 14 for orthogonality\n",
      "Checking modules 1 and 15 for orthogonality\n",
      "Checking modules 1 and 16 for orthogonality\n",
      "Checking modules 1 and 17 for orthogonality\n",
      "Checking modules 1 and 18 for orthogonality\n",
      "Checking modules 1 and 19 for orthogonality\n",
      "Checking modules 1 and 20 for orthogonality\n",
      "Checking modules 1 and 21 for orthogonality\n",
      "Checking modules 1 and 22 for orthogonality\n",
      "Checking modules 1 and 23 for orthogonality\n",
      "Checking modules 1 and 24 for orthogonality\n",
      "Checking modules 1 and 25 for orthogonality\n",
      "Checking modules 1 and 26 for orthogonality\n",
      "Checking modules 1 and 27 for orthogonality\n",
      "Checking modules 1 and 28 for orthogonality\n",
      "Checking modules 1 and 29 for orthogonality\n",
      "Checking modules 1 and 30 for orthogonality\n",
      "Checking modules 1 and 31 for orthogonality\n",
      "Checking modules 2 and 3 for orthogonality\n",
      "Checking modules 2 and 4 for orthogonality\n",
      "Checking modules 2 and 5 for orthogonality\n",
      "Checking modules 2 and 6 for orthogonality\n",
      "Checking modules 2 and 7 for orthogonality\n",
      "Checking modules 2 and 8 for orthogonality\n",
      "Checking modules 2 and 9 for orthogonality\n",
      "Checking modules 2 and 10 for orthogonality\n",
      "Checking modules 2 and 11 for orthogonality\n",
      "Checking modules 2 and 12 for orthogonality\n",
      "Checking modules 2 and 13 for orthogonality\n",
      "Checking modules 2 and 14 for orthogonality\n",
      "Checking modules 2 and 15 for orthogonality\n",
      "Checking modules 2 and 16 for orthogonality\n",
      "Checking modules 2 and 17 for orthogonality\n",
      "Checking modules 2 and 18 for orthogonality\n",
      "Checking modules 2 and 19 for orthogonality\n",
      "Checking modules 2 and 20 for orthogonality\n",
      "Checking modules 2 and 21 for orthogonality\n",
      "Checking modules 2 and 22 for orthogonality\n",
      "Checking modules 2 and 23 for orthogonality\n",
      "Checking modules 2 and 24 for orthogonality\n",
      "Checking modules 2 and 25 for orthogonality\n",
      "Checking modules 2 and 26 for orthogonality\n",
      "Checking modules 2 and 27 for orthogonality\n",
      "Checking modules 2 and 28 for orthogonality\n",
      "Checking modules 2 and 29 for orthogonality\n",
      "Checking modules 2 and 30 for orthogonality\n",
      "Checking modules 2 and 31 for orthogonality\n",
      "Checking modules 3 and 4 for orthogonality\n",
      "Checking modules 3 and 5 for orthogonality\n",
      "Checking modules 3 and 6 for orthogonality\n",
      "Checking modules 3 and 7 for orthogonality\n",
      "Checking modules 3 and 8 for orthogonality\n",
      "Checking modules 3 and 9 for orthogonality\n",
      "Checking modules 3 and 10 for orthogonality\n",
      "Checking modules 3 and 11 for orthogonality\n",
      "Checking modules 3 and 12 for orthogonality\n",
      "Checking modules 3 and 13 for orthogonality\n",
      "Checking modules 3 and 14 for orthogonality\n",
      "Checking modules 3 and 15 for orthogonality\n",
      "Checking modules 3 and 16 for orthogonality\n",
      "Checking modules 3 and 17 for orthogonality\n",
      "Checking modules 3 and 18 for orthogonality\n",
      "Checking modules 3 and 19 for orthogonality\n",
      "Checking modules 3 and 20 for orthogonality\n",
      "Checking modules 3 and 21 for orthogonality\n",
      "Checking modules 3 and 22 for orthogonality\n",
      "Checking modules 3 and 23 for orthogonality\n",
      "Checking modules 3 and 24 for orthogonality\n",
      "Checking modules 3 and 25 for orthogonality\n",
      "Checking modules 3 and 26 for orthogonality\n",
      "Checking modules 3 and 27 for orthogonality\n",
      "Checking modules 3 and 28 for orthogonality\n",
      "Checking modules 3 and 29 for orthogonality\n",
      "Checking modules 3 and 30 for orthogonality\n",
      "Checking modules 3 and 31 for orthogonality\n",
      "Checking modules 4 and 5 for orthogonality\n",
      "Checking modules 4 and 6 for orthogonality\n",
      "Checking modules 4 and 7 for orthogonality\n",
      "Checking modules 4 and 8 for orthogonality\n",
      "Checking modules 4 and 9 for orthogonality\n",
      "Checking modules 4 and 10 for orthogonality\n",
      "Checking modules 4 and 11 for orthogonality\n",
      "Checking modules 4 and 12 for orthogonality\n",
      "Checking modules 4 and 13 for orthogonality\n",
      "Checking modules 4 and 14 for orthogonality\n",
      "Checking modules 4 and 15 for orthogonality\n",
      "Checking modules 4 and 16 for orthogonality\n",
      "Checking modules 4 and 17 for orthogonality\n",
      "Checking modules 4 and 18 for orthogonality\n",
      "Checking modules 4 and 19 for orthogonality\n",
      "Checking modules 4 and 20 for orthogonality\n",
      "Checking modules 4 and 21 for orthogonality\n",
      "Checking modules 4 and 22 for orthogonality\n",
      "Checking modules 4 and 23 for orthogonality\n",
      "Checking modules 4 and 24 for orthogonality\n",
      "Checking modules 4 and 25 for orthogonality\n",
      "Checking modules 4 and 26 for orthogonality\n",
      "Checking modules 4 and 27 for orthogonality\n",
      "Checking modules 4 and 28 for orthogonality\n",
      "Checking modules 4 and 29 for orthogonality\n",
      "Checking modules 4 and 30 for orthogonality\n",
      "Checking modules 4 and 31 for orthogonality\n",
      "Checking modules 5 and 6 for orthogonality\n",
      "Checking modules 5 and 7 for orthogonality\n",
      "Checking modules 5 and 8 for orthogonality\n",
      "Checking modules 5 and 9 for orthogonality\n",
      "Checking modules 5 and 10 for orthogonality\n",
      "Checking modules 5 and 11 for orthogonality\n",
      "Checking modules 5 and 12 for orthogonality\n",
      "Checking modules 5 and 13 for orthogonality\n",
      "Checking modules 5 and 14 for orthogonality\n",
      "Checking modules 5 and 15 for orthogonality\n",
      "Checking modules 5 and 16 for orthogonality\n",
      "Checking modules 5 and 17 for orthogonality\n",
      "Checking modules 5 and 18 for orthogonality\n",
      "Checking modules 5 and 19 for orthogonality\n",
      "Checking modules 5 and 20 for orthogonality\n",
      "Checking modules 5 and 21 for orthogonality\n",
      "Checking modules 5 and 22 for orthogonality\n",
      "Checking modules 5 and 23 for orthogonality\n",
      "Checking modules 5 and 24 for orthogonality\n",
      "Checking modules 5 and 25 for orthogonality\n",
      "Checking modules 5 and 26 for orthogonality\n",
      "Checking modules 5 and 27 for orthogonality\n",
      "Checking modules 5 and 28 for orthogonality\n",
      "Checking modules 5 and 29 for orthogonality\n",
      "Checking modules 5 and 30 for orthogonality\n",
      "Checking modules 5 and 31 for orthogonality\n",
      "Checking modules 6 and 7 for orthogonality\n",
      "Checking modules 6 and 8 for orthogonality\n",
      "Checking modules 6 and 9 for orthogonality\n",
      "Checking modules 6 and 10 for orthogonality\n",
      "Checking modules 6 and 11 for orthogonality\n",
      "Checking modules 6 and 12 for orthogonality\n",
      "Checking modules 6 and 13 for orthogonality\n",
      "Checking modules 6 and 14 for orthogonality\n",
      "Checking modules 6 and 15 for orthogonality\n",
      "Checking modules 6 and 16 for orthogonality\n",
      "Checking modules 6 and 17 for orthogonality\n",
      "Checking modules 6 and 18 for orthogonality\n",
      "Checking modules 6 and 19 for orthogonality\n",
      "Checking modules 6 and 20 for orthogonality\n",
      "Checking modules 6 and 21 for orthogonality\n",
      "Checking modules 6 and 22 for orthogonality\n",
      "Checking modules 6 and 23 for orthogonality\n",
      "Checking modules 6 and 24 for orthogonality\n",
      "Checking modules 6 and 25 for orthogonality\n",
      "Checking modules 6 and 26 for orthogonality\n",
      "Checking modules 6 and 27 for orthogonality\n",
      "Checking modules 6 and 28 for orthogonality\n",
      "Checking modules 6 and 29 for orthogonality\n",
      "Checking modules 6 and 30 for orthogonality\n",
      "Checking modules 6 and 31 for orthogonality\n",
      "Checking modules 7 and 8 for orthogonality\n",
      "Checking modules 7 and 9 for orthogonality\n",
      "Checking modules 7 and 10 for orthogonality\n",
      "Checking modules 7 and 11 for orthogonality\n",
      "Checking modules 7 and 12 for orthogonality\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Checking modules 7 and 13 for orthogonality\n",
      "Checking modules 7 and 14 for orthogonality\n",
      "Checking modules 7 and 15 for orthogonality\n",
      "Checking modules 7 and 16 for orthogonality\n",
      "Checking modules 7 and 17 for orthogonality\n",
      "Checking modules 7 and 18 for orthogonality\n",
      "Checking modules 7 and 19 for orthogonality\n",
      "Checking modules 7 and 20 for orthogonality\n",
      "Checking modules 7 and 21 for orthogonality\n",
      "Checking modules 7 and 22 for orthogonality\n",
      "Checking modules 7 and 23 for orthogonality\n",
      "Checking modules 7 and 24 for orthogonality\n",
      "Checking modules 7 and 25 for orthogonality\n",
      "Checking modules 7 and 26 for orthogonality\n",
      "Checking modules 7 and 27 for orthogonality\n",
      "Checking modules 7 and 28 for orthogonality\n",
      "Checking modules 7 and 29 for orthogonality\n",
      "Checking modules 7 and 30 for orthogonality\n",
      "Checking modules 7 and 31 for orthogonality\n",
      "Checking modules 8 and 9 for orthogonality\n",
      "Checking modules 8 and 10 for orthogonality\n",
      "Checking modules 8 and 11 for orthogonality\n",
      "Checking modules 8 and 12 for orthogonality\n",
      "Checking modules 8 and 13 for orthogonality\n",
      "Checking modules 8 and 14 for orthogonality\n",
      "Checking modules 8 and 15 for orthogonality\n",
      "Checking modules 8 and 16 for orthogonality\n",
      "Checking modules 8 and 17 for orthogonality\n",
      "Checking modules 8 and 18 for orthogonality\n",
      "Checking modules 8 and 19 for orthogonality\n",
      "Checking modules 8 and 20 for orthogonality\n",
      "Checking modules 8 and 21 for orthogonality\n",
      "Checking modules 8 and 22 for orthogonality\n",
      "Checking modules 8 and 23 for orthogonality\n",
      "Checking modules 8 and 24 for orthogonality\n",
      "Checking modules 8 and 25 for orthogonality\n",
      "Checking modules 8 and 26 for orthogonality\n",
      "Checking modules 8 and 27 for orthogonality\n",
      "Checking modules 8 and 28 for orthogonality\n",
      "Checking modules 8 and 29 for orthogonality\n",
      "Checking modules 8 and 30 for orthogonality\n",
      "Checking modules 8 and 31 for orthogonality\n",
      "Checking modules 9 and 10 for orthogonality\n",
      "Checking modules 9 and 11 for orthogonality\n",
      "Checking modules 9 and 12 for orthogonality\n",
      "Checking modules 9 and 13 for orthogonality\n",
      "Checking modules 9 and 14 for orthogonality\n",
      "Checking modules 9 and 15 for orthogonality\n",
      "Checking modules 9 and 16 for orthogonality\n",
      "Checking modules 9 and 17 for orthogonality\n",
      "Checking modules 9 and 18 for orthogonality\n",
      "Checking modules 9 and 19 for orthogonality\n",
      "Checking modules 9 and 20 for orthogonality\n",
      "Checking modules 9 and 21 for orthogonality\n",
      "Checking modules 9 and 22 for orthogonality\n",
      "Checking modules 9 and 23 for orthogonality\n",
      "Checking modules 9 and 24 for orthogonality\n",
      "Checking modules 9 and 25 for orthogonality\n",
      "Checking modules 9 and 26 for orthogonality\n",
      "Checking modules 9 and 27 for orthogonality\n",
      "Checking modules 9 and 28 for orthogonality\n",
      "Checking modules 9 and 29 for orthogonality\n",
      "Checking modules 9 and 30 for orthogonality\n",
      "Checking modules 9 and 31 for orthogonality\n",
      "Checking modules 10 and 11 for orthogonality\n",
      "Checking modules 10 and 12 for orthogonality\n",
      "Checking modules 10 and 13 for orthogonality\n",
      "Checking modules 10 and 14 for orthogonality\n",
      "Checking modules 10 and 15 for orthogonality\n",
      "Checking modules 10 and 16 for orthogonality\n",
      "Checking modules 10 and 17 for orthogonality\n",
      "Checking modules 10 and 18 for orthogonality\n",
      "Checking modules 10 and 19 for orthogonality\n",
      "Checking modules 10 and 20 for orthogonality\n",
      "Checking modules 10 and 21 for orthogonality\n",
      "Checking modules 10 and 22 for orthogonality\n",
      "Checking modules 10 and 23 for orthogonality\n",
      "Checking modules 10 and 24 for orthogonality\n",
      "Checking modules 10 and 25 for orthogonality\n",
      "Checking modules 10 and 26 for orthogonality\n",
      "Checking modules 10 and 27 for orthogonality\n",
      "Checking modules 10 and 28 for orthogonality\n",
      "Checking modules 10 and 29 for orthogonality\n",
      "Checking modules 10 and 30 for orthogonality\n",
      "Checking modules 10 and 31 for orthogonality\n",
      "Checking modules 11 and 12 for orthogonality\n",
      "Checking modules 11 and 13 for orthogonality\n",
      "Checking modules 11 and 14 for orthogonality\n",
      "Checking modules 11 and 15 for orthogonality\n",
      "Checking modules 11 and 16 for orthogonality\n",
      "Checking modules 11 and 17 for orthogonality\n",
      "Checking modules 11 and 18 for orthogonality\n",
      "Checking modules 11 and 19 for orthogonality\n",
      "Checking modules 11 and 20 for orthogonality\n",
      "Checking modules 11 and 21 for orthogonality\n",
      "Checking modules 11 and 22 for orthogonality\n",
      "Checking modules 11 and 23 for orthogonality\n",
      "Checking modules 11 and 24 for orthogonality\n",
      "Checking modules 11 and 25 for orthogonality\n",
      "Checking modules 11 and 26 for orthogonality\n",
      "Checking modules 11 and 27 for orthogonality\n",
      "Checking modules 11 and 28 for orthogonality\n",
      "Checking modules 11 and 29 for orthogonality\n",
      "Checking modules 11 and 30 for orthogonality\n",
      "Checking modules 11 and 31 for orthogonality\n",
      "Checking modules 12 and 13 for orthogonality\n",
      "Checking modules 12 and 14 for orthogonality\n",
      "Checking modules 12 and 15 for orthogonality\n",
      "Checking modules 12 and 16 for orthogonality\n",
      "Checking modules 12 and 17 for orthogonality\n",
      "Checking modules 12 and 18 for orthogonality\n",
      "Checking modules 12 and 19 for orthogonality\n",
      "Checking modules 12 and 20 for orthogonality\n",
      "Checking modules 12 and 21 for orthogonality\n",
      "Checking modules 12 and 22 for orthogonality\n",
      "Checking modules 12 and 23 for orthogonality\n",
      "Checking modules 12 and 24 for orthogonality\n",
      "Checking modules 12 and 25 for orthogonality\n",
      "Checking modules 12 and 26 for orthogonality\n",
      "Checking modules 12 and 27 for orthogonality\n",
      "Checking modules 12 and 28 for orthogonality\n",
      "Checking modules 12 and 29 for orthogonality\n",
      "Checking modules 12 and 30 for orthogonality\n",
      "Checking modules 12 and 31 for orthogonality\n",
      "Checking modules 13 and 14 for orthogonality\n",
      "Checking modules 13 and 15 for orthogonality\n",
      "Checking modules 13 and 16 for orthogonality\n",
      "Checking modules 13 and 17 for orthogonality\n",
      "Checking modules 13 and 18 for orthogonality\n",
      "Checking modules 13 and 19 for orthogonality\n",
      "Checking modules 13 and 20 for orthogonality\n",
      "Checking modules 13 and 21 for orthogonality\n",
      "Checking modules 13 and 22 for orthogonality\n",
      "Checking modules 13 and 23 for orthogonality\n",
      "Checking modules 13 and 24 for orthogonality\n",
      "Checking modules 13 and 25 for orthogonality\n",
      "Checking modules 13 and 26 for orthogonality\n",
      "Checking modules 13 and 27 for orthogonality\n",
      "Checking modules 13 and 28 for orthogonality\n",
      "Checking modules 13 and 29 for orthogonality\n",
      "Checking modules 13 and 30 for orthogonality\n",
      "Checking modules 13 and 31 for orthogonality\n",
      "Checking modules 14 and 15 for orthogonality\n",
      "Checking modules 14 and 16 for orthogonality\n",
      "Checking modules 14 and 17 for orthogonality\n",
      "Checking modules 14 and 18 for orthogonality\n",
      "Checking modules 14 and 19 for orthogonality\n",
      "Checking modules 14 and 20 for orthogonality\n",
      "Checking modules 14 and 21 for orthogonality\n",
      "Checking modules 14 and 22 for orthogonality\n",
      "Checking modules 14 and 23 for orthogonality\n",
      "Checking modules 14 and 24 for orthogonality\n",
      "Checking modules 14 and 25 for orthogonality\n",
      "Checking modules 14 and 26 for orthogonality\n",
      "Checking modules 14 and 27 for orthogonality\n",
      "Checking modules 14 and 28 for orthogonality\n",
      "Checking modules 14 and 29 for orthogonality\n",
      "Checking modules 14 and 30 for orthogonality\n",
      "Checking modules 14 and 31 for orthogonality\n",
      "Checking modules 15 and 16 for orthogonality\n",
      "Checking modules 15 and 17 for orthogonality\n",
      "Checking modules 15 and 18 for orthogonality\n",
      "Checking modules 15 and 19 for orthogonality\n",
      "Checking modules 15 and 20 for orthogonality\n",
      "Checking modules 15 and 21 for orthogonality\n",
      "Checking modules 15 and 22 for orthogonality\n",
      "Checking modules 15 and 23 for orthogonality\n",
      "Checking modules 15 and 24 for orthogonality\n",
      "Checking modules 15 and 25 for orthogonality\n",
      "Checking modules 15 and 26 for orthogonality\n",
      "Checking modules 15 and 27 for orthogonality\n",
      "Checking modules 15 and 28 for orthogonality\n",
      "Checking modules 15 and 29 for orthogonality\n",
      "Checking modules 15 and 30 for orthogonality\n",
      "Checking modules 15 and 31 for orthogonality\n",
      "Checking modules 16 and 17 for orthogonality\n",
      "Checking modules 16 and 18 for orthogonality\n",
      "Checking modules 16 and 19 for orthogonality\n",
      "Checking modules 16 and 20 for orthogonality\n",
      "Checking modules 16 and 21 for orthogonality\n",
      "Checking modules 16 and 22 for orthogonality\n",
      "Checking modules 16 and 23 for orthogonality\n",
      "Checking modules 16 and 24 for orthogonality\n",
      "Checking modules 16 and 25 for orthogonality\n",
      "Checking modules 16 and 26 for orthogonality\n",
      "Checking modules 16 and 27 for orthogonality\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Checking modules 16 and 28 for orthogonality\n",
      "Checking modules 16 and 29 for orthogonality\n",
      "Checking modules 16 and 30 for orthogonality\n",
      "Checking modules 16 and 31 for orthogonality\n",
      "Checking modules 17 and 18 for orthogonality\n",
      "Checking modules 17 and 19 for orthogonality\n",
      "Checking modules 17 and 20 for orthogonality\n",
      "Checking modules 17 and 21 for orthogonality\n",
      "Checking modules 17 and 22 for orthogonality\n",
      "Checking modules 17 and 23 for orthogonality\n",
      "Checking modules 17 and 24 for orthogonality\n",
      "Checking modules 17 and 25 for orthogonality\n",
      "Checking modules 17 and 26 for orthogonality\n",
      "Checking modules 17 and 27 for orthogonality\n",
      "Checking modules 17 and 28 for orthogonality\n",
      "Checking modules 17 and 29 for orthogonality\n",
      "Checking modules 17 and 30 for orthogonality\n",
      "Checking modules 17 and 31 for orthogonality\n",
      "Checking modules 18 and 19 for orthogonality\n",
      "Checking modules 18 and 20 for orthogonality\n",
      "Checking modules 18 and 21 for orthogonality\n",
      "Checking modules 18 and 22 for orthogonality\n",
      "Checking modules 18 and 23 for orthogonality\n",
      "Checking modules 18 and 24 for orthogonality\n",
      "Checking modules 18 and 25 for orthogonality\n",
      "Checking modules 18 and 26 for orthogonality\n",
      "Checking modules 18 and 27 for orthogonality\n",
      "Checking modules 18 and 28 for orthogonality\n",
      "Checking modules 18 and 29 for orthogonality\n",
      "Checking modules 18 and 30 for orthogonality\n",
      "Checking modules 18 and 31 for orthogonality\n",
      "Checking modules 19 and 20 for orthogonality\n",
      "Checking modules 19 and 21 for orthogonality\n",
      "Checking modules 19 and 22 for orthogonality\n",
      "Checking modules 19 and 23 for orthogonality\n",
      "Checking modules 19 and 24 for orthogonality\n",
      "Checking modules 19 and 25 for orthogonality\n",
      "Checking modules 19 and 26 for orthogonality\n",
      "Checking modules 19 and 27 for orthogonality\n",
      "Checking modules 19 and 28 for orthogonality\n",
      "Checking modules 19 and 29 for orthogonality\n",
      "Checking modules 19 and 30 for orthogonality\n",
      "Checking modules 19 and 31 for orthogonality\n",
      "Checking modules 20 and 21 for orthogonality\n",
      "Checking modules 20 and 22 for orthogonality\n",
      "Checking modules 20 and 23 for orthogonality\n",
      "Checking modules 20 and 24 for orthogonality\n",
      "Checking modules 20 and 25 for orthogonality\n",
      "Checking modules 20 and 26 for orthogonality\n",
      "Checking modules 20 and 27 for orthogonality\n",
      "Checking modules 20 and 28 for orthogonality\n",
      "Checking modules 20 and 29 for orthogonality\n",
      "Checking modules 20 and 30 for orthogonality\n",
      "Checking modules 20 and 31 for orthogonality\n",
      "Checking modules 21 and 22 for orthogonality\n",
      "Checking modules 21 and 23 for orthogonality\n",
      "Checking modules 21 and 24 for orthogonality\n",
      "Checking modules 21 and 25 for orthogonality\n",
      "Checking modules 21 and 26 for orthogonality\n",
      "Checking modules 21 and 27 for orthogonality\n",
      "Checking modules 21 and 28 for orthogonality\n",
      "Checking modules 21 and 29 for orthogonality\n",
      "Checking modules 21 and 30 for orthogonality\n",
      "Checking modules 21 and 31 for orthogonality\n",
      "Checking modules 22 and 23 for orthogonality\n",
      "Checking modules 22 and 24 for orthogonality\n",
      "Checking modules 22 and 25 for orthogonality\n",
      "Checking modules 22 and 26 for orthogonality\n",
      "Checking modules 22 and 27 for orthogonality\n",
      "Checking modules 22 and 28 for orthogonality\n",
      "Checking modules 22 and 29 for orthogonality\n",
      "Checking modules 22 and 30 for orthogonality\n",
      "Checking modules 22 and 31 for orthogonality\n",
      "Checking modules 23 and 24 for orthogonality\n",
      "Checking modules 23 and 25 for orthogonality\n",
      "Checking modules 23 and 26 for orthogonality\n",
      "Checking modules 23 and 27 for orthogonality\n",
      "Checking modules 23 and 28 for orthogonality\n",
      "Checking modules 23 and 29 for orthogonality\n",
      "Checking modules 23 and 30 for orthogonality\n",
      "Checking modules 23 and 31 for orthogonality\n",
      "Checking modules 24 and 25 for orthogonality\n",
      "Checking modules 24 and 26 for orthogonality\n",
      "Checking modules 24 and 27 for orthogonality\n",
      "Checking modules 24 and 28 for orthogonality\n",
      "Checking modules 24 and 29 for orthogonality\n",
      "Checking modules 24 and 30 for orthogonality\n",
      "Checking modules 24 and 31 for orthogonality\n",
      "Checking modules 25 and 26 for orthogonality\n",
      "Checking modules 25 and 27 for orthogonality\n",
      "Checking modules 25 and 28 for orthogonality\n",
      "Checking modules 25 and 29 for orthogonality\n",
      "Checking modules 25 and 30 for orthogonality\n",
      "Checking modules 25 and 31 for orthogonality\n",
      "Checking modules 26 and 27 for orthogonality\n",
      "Checking modules 26 and 28 for orthogonality\n",
      "Checking modules 26 and 29 for orthogonality\n",
      "Checking modules 26 and 30 for orthogonality\n",
      "Checking modules 26 and 31 for orthogonality\n",
      "Checking modules 27 and 28 for orthogonality\n",
      "Checking modules 27 and 29 for orthogonality\n",
      "Checking modules 27 and 30 for orthogonality\n",
      "Checking modules 27 and 31 for orthogonality\n",
      "Checking modules 28 and 29 for orthogonality\n",
      "Checking modules 28 and 30 for orthogonality\n",
      "Checking modules 28 and 31 for orthogonality\n",
      "Checking modules 29 and 30 for orthogonality\n",
      "Checking modules 29 and 31 for orthogonality\n",
      "Checking modules 30 and 31 for orthogonality\n",
      "[0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1]\n",
      "[1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0]\n",
      "\n",
      "Also test the adjacency matrix for asymmetries:\n",
      "[(0, 3), (0, 18), (0, 20), (0, 23), (0, 29), (1, 12), (1, 15), (1, 27), (2, 14), (2, 26), (2, 27), (3, 0), (3, 9), (3, 10), (3, 15), (3, 26), (3, 27), (4, 12), (5, 14), (5, 26), (5, 27), (5, 30), (5, 31), (6, 17), (6, 19), (6, 23), (6, 29), (7, 25), (7, 29), (8, 23), (8, 25), (8, 29), (9, 3), (9, 17), (9, 19), (9, 20), (9, 24), (9, 28), (10, 3), (10, 17), (10, 19), (10, 20), (10, 24), (10, 28), (10, 29), (11, 25), (11, 29), (12, 1), (12, 4), (12, 21), (12, 23), (14, 2), (14, 5), (14, 18), (14, 19), (14, 20), (14, 22), (14, 23), (14, 28), (15, 1), (15, 3), (15, 17), (15, 19), (15, 20), (15, 25), (15, 29), (17, 6), (17, 9), (17, 10), (17, 15), (17, 26), (17, 27), (18, 0), (18, 14), (18, 26), (18, 27), (18, 30), (18, 31), (19, 6), (19, 9), (19, 10), (19, 14), (19, 15), (20, 0), (20, 9), (20, 10), (20, 14), (20, 15), (21, 12), (22, 14), (22, 26), (23, 0), (23, 6), (23, 8), (23, 12), (23, 14), (23, 26), (24, 9), (24, 10), (24, 26), (24, 27), (25, 7), (25, 8), (25, 11), (25, 15), (26, 2), (26, 3), (26, 5), (26, 17), (26, 18), (26, 22), (26, 23), (26, 24), (27, 1), (27, 2), (27, 3), (27, 5), (27, 17), (27, 18), (27, 24), (27, 28), (28, 9), (28, 10), (28, 14), (28, 27), (29, 0), (29, 6), (29, 7), (29, 8), (29, 10), (29, 11), (29, 15), (30, 5), (30, 18), (31, 5), (31, 18)]\n"
     ]
    }
   ],
   "source": [
    "# Computing which modules are mixed under X10\n",
    "L=len(new_modules)\n",
    "A_adj=list(0*identity_matrix(L))\n",
    "for i in range(L):\n",
    "    for j in range(L):\n",
    "        if i!=j:\n",
    "            print (\"\\rCurrently checking modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "            b=check_modules(module1=new_modules[i],module2=new_modules[j],A_mat=X)\n",
    "            A_adj[i][j]=b\n",
    "            if b==0:\n",
    "                print(\"No overlap found between modules\",f'{str(i): <2}',\"and\",f'{str(j): <2}')\n",
    "\n",
    "print(\"\")\n",
    "print(\"Found the following adjacency matrix for the orbit:\")\n",
    "print(matrix(A_adj))\n",
    "save(matrix(A_adj),directory+\"A_adj_orbit1\")\n",
    "connections=matrix([orbit(incidence=A_adj,L=L,start=i) for i in range(L)])\n",
    "full=list(range(L))\n",
    "b=True\n",
    "for i in range(L):\n",
    "    if list(connections[i])==full:\n",
    "        b=b and True\n",
    "    else:\n",
    "        b=b and False\n",
    "print(\"Every SO_10-module can be reached by the full k(E_10)-action from any SO_10-module:\",b)\n",
    "    \n",
    "print(\"Just out of curiousity doublecheck if the SO(10)-modules are indeed orthogonal:\")\n",
    "\n",
    "A_orth=[[False for i in range(L)] for j in range(L) ]\n",
    "\n",
    "for i in range(L):\n",
    "    for j in range(i+1,L):\n",
    "        print(\"Checking modules\",i,\"and\",j,\"for orthogonality\")\n",
    "        t=orthogonal_modules_Q(new_modules[i],new_modules[j])\n",
    "        A_orth[i][j]=t\n",
    "        A_orth[j][i]=t\n",
    "        \n",
    "print(matrix(A_orth))\n",
    "print(\"\")\n",
    "print(\"Also test the adjacency matrix for asymmetries:\")\n",
    "asymmetries=[]\n",
    "for i in range(L):\n",
    "    for j in range(L):\n",
    "        if A_adj[i][j]!=A_adj[j][i]:\n",
    "            asymmetries.append(tuple([i,j]))\n",
    "print(asymmetries)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "SageMath 9.0",
   "language": "sage",
   "name": "sagemath"
  },
  "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.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
