main_v111_higher53_multicore_parallel.sage
Functions
| Function name | Purpose |
|---|---|
| immutabilize | Immutabilizes mutable Sage objects such as matrices, so that sets of such Sage objects can be formed. |
| duplikiller | Used to remove duplicates from a list, in the simplest possible way, with a for loop. |
| hamster1 | Used to remove duplicates from a list, using OrderedDict. That is, takes a list input_list as input, and returns list(OrderedDict.fromkeys(input_list)) Faster than duplikiller when huge lists are involved. |
| ChunkMaster | Takes a list seq and an integer num as input. Splits fairly the list seq into a number num of chunks. Mobilized at the beginning of each iteration of Borcherds’ method when the PFB / APFB parallel approach is used. |
| ALG | Used to execute our implementation ShiVectors of Shimada’s SLVE within DEFINING_SET. |
| TRIPLER | Used in DEFINING_SET to form a suitable triple that can be used as input data into ALG when the latter is executed within DEFINING_SET. The function TRIPLER forms the triple highlighted in yellow on this screenshot of page 90 of our thesis. |
| ISOLATOR | Used by TRIPLER to compute the column vector made of inner products in $\sv$, highlighted in orange on this screenshot of page 90 of our thesis. |
| PR_TRIPLE | Used to compute the projection of a positive quadratic triple $QT$. Take a look at the expression of $$\textbf{pr}(QT)$$ on page 74 of the thesis for more details. |
| IOTA_STAR | Takes an integer $a$ and a triple $QT$ as input. Returns $$\iota^\ast(a,QT).$$ See expression (1.10), section 1.4 of the thesis, p74, for more details. |
| TRIPLES_BUILDER | From the input data of a triple $QT$, the function TRIPLES_BUILDER is used to compute the set $\mathscr{S}(QT)$ of triples mentioned at the beginning of section 1.4.1 page 75 of our thesis. |
| q_QT | From the input data of a triple $QT$, the function q_QT outputs the expression $$q_{QT}(\textbf{x})$$ mentioned at the beginning of page 73 of our thesis. |
| SOLVER | Used to compute the solution set $\mathcal{X}(\mathscr{S}(QT))$ of the inequality $q_{QT}(\textbf{x}) \leq 0$ where $QT$ is the triple of a single variable contained in $\mathscr{S}(QT)$. See page 76 of our thesis for more details. |
| ALGO | This function is an implementation of the main routine behind the procedure ShiVector, mentioned in the thesis, Section 1.4.1 – page 76. |
| sum2 | |
| SOL_GEN | |
| DEFINING_SET | |
| run_multicore_op | |
| multi_op_2 | |
| SPAN_CHECK_OLD | |
| multi_op_3 | |
| multi_op_sol_gen | |
| SPAN_CHECK | |
| DELTA_W | |
| DELTA_W_TRUE | |
| DELTA_W2 | |
| AC_Finder | |
| quotest | |
| reflector | |
| ORTHIZER | |
| multi_SetOfWalls_op | |
| DSD_COMPUTER2_OLD | |
| DSD_COMPUTER2 | |
| AUT_CHAMBER | |
| hamster1 | |
| ORB_FINDER | |
| ORB_TESTER_IS_CONTAINED | |
| CONG_CHECKER_CUSTOM | Takes the set of walls of a $\ps$-chamber $\Omega(D_1)$ , the set of walls of a $\ps$-chamber $\Omega(D_2)$ and the Weyl vector of $D_2$. Determines whether $D_1$ and $D_2$ are $\hbf$-congruent. |
| multi_op_4 | |
| multi_op_5 | |
| rat_detector | |
| rat_detector_alt | NOT USED IN OUR IMPLEMENTATION OF BM Takes an element of $m\in\sv$ expressed with respect to the basis $\mathcal{B}_1$ for $\sv$ and determines whether $m$ is a $(-2)-wall. |
| RAT_DETECT | NOT USED IN OUR IMPLEMENTATION OF BM Takes a Weyl vector of a chamber as input. Displays the set of walls of the chambers and indicates whether such or such wall is a $(-2)$-wall. |
| G_simplifier | Takes as input a list of matrix transformations and processes the list in such a way that the list $\mathcal{L}$ obtained as output is such that $$\id \notin \mathcal{L} \quad \text{and} \quad g\in \mathcal{L} \Rightarrow g^{-1} \notin L$$ |
