This is a personal project which culminated in this presentation for a seminar class of mine.
What is presented is the results of a program I wrote to draw the Sierpinski triangle with 63 binary numbers. Typically, when one thinks of fractals, or shapes that have an infinite number of fine details, they are very nice, smooth shapes, like the Mandelbrot set or the art of M.C Escher. One does not typically associate fractals with discrete objects. However, it is amazing to note that one can see this exact behavior in considering binomial coefficients modulo a prime. In particular, Lucas' Theorem describes this relationship, where a given coefficient is congruent to the product of the binomial coefficients over the p-ary expansion of the respective n and k. The picture to the left comes from when p=2.
Note that p=2 is precisely when one considers the binary expansion of n and k. The binomial coefficient computation is significantly accelerated when one considers the binary expansion. In particular, since there are exactly 4 possible binomial coefficients when one restricts themselves to the numbers 0 and 1, then one can find that computing the binomial coefficient is equivalent to asking whether the ith binary coefficient of n is greater than or equal to the ith binary coefficient of k. This exact observation is codified here in my Github.
Additionally, one can think about these fractals for arbitrary p, and create even more colorful triangles, which demonstrate the group structure of Zp in the triangles.
This project was a part of my research over the summer with Professor Ian Jauslin. The picture on the left shows a model for how particles form a crystal structure mathematically. Professor Jauslin has a broader theory of when models of particles can form crystals, however for specific models currently being discussed in the literature there is a lack of hard results. In particular this is testing whether the cross model is a valid particle model under his theory. The reason one would want to show examples of particle formations would be to take very simple cases where particle formation fails, and once simple cases have been completely exhausted, one can say conclusively that the entire system must obey properties under which crystals can form.
This was done as a summer project as apart of my directed reading program in which I learned algebraic number theory under Louis Gaudet.
In this project, I used GPU programming by way of CUDA to compute Chebotarev density statistics for arbitrary cubic polynomials.
What does this mean? The Chebotarev density theorem for cubic polynomials states that the way in which a given cubic polynomial factors over a finite field (takes on values which are divisable by a prime p) either into 3 linear factors, 1 linear factor, or doesn't factor at all occur most of the time with equal probability, and have weird statistics for certain exceptions (have a galois group of A3). To demonstrate this fact with high precision, you need to factor the given cubic over a very large number of primes. To do so takes a long amount of time on a compute. (100,000 primes takes ~20 minutes on a normal laptop).
In order to speed this up, one can factor the polynomial over all primes at the same time. This can be achieved with parallel processing on a gpu.
I show this in code on my github.