This notebook addresses the case where there is one simple zero over each $2$-torsion point. The quadruple zero can be arranged so that it descends to one of the points in $\{(0,0), (1,0)\}$.
We recall that in $\mathcal{H}(4,1^4)$, $d_{opt} = 10$ and by the arrangement above, there is a 2-torsion point in the boundary of each horizontal cylinder that has exactly one simple zero above it.
import re
#This loads all of the 1-cylinder diagrams in H(4,1,1) formatted as python lists
with open('ST5_data//1-cyl_diags//cyl_diags-4_1_1-c-1', 'r') as file:
H4_1_1_cyl_diags = eval(file.read())
H1_1_cyl_diags = [[[[0,1,2,3],[0,1,2,3]]]]
#This loads all of the functions for processing cylinder diagrams
%run ./ST5_fcns/cyl_diag_fcns.ipynb
#This runs almost instantly and constructs
#all of the binary lists associated to each
#simple zero for every cylinder diagram
H4_1_1_vertex_data = strat_odd_sc(H4_1_1_cyl_diags)
H1_1_vertex_data = strat_odd_sc(H1_1_cyl_diags)
Among partitions of $20$ into four odd numbers the minimum of the maximum numbers among all partitions is $\lceil 2d_{opt}/4 \rceil = 5$, which is $5$ in this case.
For the partition of $20$ into $9$ numbers, we have that the minimum is given by $\lceil 20/9\rceil$, which is $3$.
Solving $20 - 2(5) - 2t_0 \geq 0$ implies that the largest value of $t_0$ is $5$.
Solving $20 - 2s_0 - 2(3) \geq 0$ implies that the largest value of $s_0$ is $7$.
In summary:
$$s_0 \in \{5, 7\} \text{ and } 3 \leq t_0 \leq 5$$
#This loads all of the standard partition functions needed for nearly every case
#It also loads the partition evaluate function
%run ./ST5_fcns/partition_functions.ipynb
if True:
create_sc_partition_file((), part_length = 4, t0_range = range(5,8), d_opt = 10,
filename_root = 'ST5_data//H_4_1t4//1_branch_point//partitions//H1t2_part')
if True:
create_sc_partition_file((), part_length = 9, t0_range = range(3,6), d_opt = 10,
filename_root = 'ST5_data//H_4_1t4//1_branch_point//partitions//H_4_1_1_part')
#Load the partitions
if True:
with open('ST5_data//H_4_1t4//1_branch_point//partitions//H1t2_part', 'r') as file:
H1t2_part = eval_part(file.read())
if True:
with open('ST5_data//H_4_1t4//1_branch_point//partitions//H_4_1_1_part', 'r') as file:
H_4_1_1_part = eval_part(file.read())
#This loads all of the align_list functions needed for nearly every case
#This includes the align_list evaluate function
%run ./ST5_fcns/align_list_fcns.ipynb
if True:
for t in range(3,6):
align_list_write_file(H_4_1_1_part, H4_1_1_vertex_data,
'ST5_data//H_4_1t4//1_branch_point//align_list//H_4_1_1_align_list',
t0 = t)
if True:
for t in [5, 7]:
align_list_write_file(H1t2_part, H1_1_vertex_data,
'ST5_data//H_4_1t4//1_branch_point//align_list//H_1_1_align_list',
t0 = t)
#This loads all of the visible_align_list functions needed for nearly every case
%run ./ST5_fcns/align_list_visible_fcns.ipynb
if True:
generate_all_align_list_visible_files(range(3,6), [5, 7], 10,
'ST5_data//H_4_1t4//1_branch_point//',
'align_list//H_1_1_align_list_', 'align_list_visible//H1_1_align_list_')
if True:
generate_all_align_list_visible_files([5, 7], range(3,6), 10,
'ST5_data//H_4_1t4//1_branch_point//',
'align_list//H_4_1_1_align_list_',
'align_list_visible//H_4_1_1_align_list_')
#At this point, none of the files above need to be loaded for this to run.
#Once the files above are generated, the file sizes are small enough that these can be loaded on the fly.
#This loads all of the visible_align_list functions needed for nearly every case
%run ./ST5_fcns/combine_align_list_visible_fcns.ipynb
if True:
combine_align_list_visible_write_file(s_range = range(3,6),
s_filename_root = 'align_list_visible//H_4_1_1_align_list_',
t_range = [5, 7],
t_filename_root = 'align_list_visible//H1_1_align_list_',
d_opt = 10,
root_dir = 'ST5_data//H_4_1t4//1_branch_point//')
#This loads all of the vertical permutation check functions needed for nearly every case
#This function can be run once admissible_list is written and without needing to load any other file
%run ./ST5_fcns/vert_perm_check_fcns.ipynb
#This checks that all (both) of the vertical permutations have the correct length of 2*d_opt
if True:
vert_perm_check_file(10, 'ST5_data//H_4_1t4//1_branch_point//')
if True:
all_vert_perm_check_file(10, 'ST5_data//H_4_1t4//1_branch_point//')
%run ./ST5_fcns/slope_test_fcn.ipynb
if True:
final_list = slope_test(10, 'ST5_data//H_4_1t4//1_branch_point//')