Skip to content

Introduction

Nick Georgakopoulos edited this page Oct 3, 2021 · 5 revisions

From Math to Code

There are three fundamental ideas that make our code work:

  • Homology of chain complexes of free Z modules can be algorithmically computed by turning the differentials into matrices and then diagonalizing them via a Smith Normal Form algorithm.

  • Free Mackey functors are determined on their bottom level. The higher levels are obtained by taking fixed points, and this can be done algorithmically on our matrices as long as equivariant bases are used (this is an ordered basis in which elements in the same orbit are written consecutively).

  • Box products of Mackey functors are tensor products on the bottom level. This is not true for the higher levels, however using the bulletpoint above, higher levels are obtained by transferring. This is how box products of chain complexes of free Mackey functors are computed.

These three ideas dictate our approach: We work primarily on the bottom level, before transferring to get the higher ones. Homology is computed in each level separately and transfers/restrictions/Weyl group actions on the generators can be computed on the chains. But the chains are always free, so we can also algorithmically compute the effect of transfers/restrictions and Weyl group actions.

By converting all our differentials to matrices, using equivariant bases throughout, we can reduce our computations to pure linear algebra. So we eschew any symbolic math packages that would have otherwise be needed.

Clone this wiki locally