Rank of Unit Group of Burnside Ring: Learning GAP

    The research objective is to find the mathematical theory of the size of the unit groups of Burnside rings. Specifically, it focuses on automating the algorithms of calculating the size of unit group of Burnside ring by employing GAP (Groups, Algorithms, Programming). After the first meeting with Dr. Carman, I wrote several things on my to-do list for the first week of research. As a large amount of the computational work of this research project will require the assistance of GAP, the main goal of the first week is to learn to use GAP by gathering relevant materials and reading tutorials and documents.

    GAP 4.10.1 is the version we are going to employ. The GAP official website provides its users with “the GAP tutorial” and “GAP reference Manual” as introduction and detailed documentation of the system. I spent most of my time during week 1 on reading the GAP tutorial and practicing with the examples provided in the tutorial. I mainly focused on the parts of “functions” and “groups and homomorphisms” because they are closely related to my research project. I found the process of learning GAP similar to learning Python, C++, and other programming languages I’ve acquired, except for that GAP is more mathematically based.

    There were several difficulties I encountered during the process of learning GAP. First, Since the installation of the package was complicated by numerous small folders, it was hard to find the origin of the problem when GAP was not working on my laptop. One time when I was practicing coding, GAP did not recognize the function that I usually use. It took my hours to figure out the problem was actually caused by my laptop sending some of the folders to iCloud. I learned to avoid such problems by keeping the integrity of the installation folders. The second difficulty I faced was not knowing if there exists a function that does a certain task I want. Since there are way too many functions in the GAP manual, I did not have time to practice on every of them. Thus, I was not aware of the existence of some very useful functions which made the coding process inefficient. Fortunately, Dr. Carman taught me about searching in GAP by typing the keyword in addition to a “?”  in the command line, which shows results relevant to the keyword. This trick helped me discover many more new functions that later became very crucial in my research.

    In conclusion, week 1 was mainly about learning to use GAP by reading the manual and practicing with the examples. This process, despite many difficulties encountered along the way, built a very solid foundation for my later research work by making me more familiar with the tool I use.