I found studying math at SFU to be a good experience. Classes had a lot of content and covered a broad range of topics. One of the best things about studying here was that professors had a high standard for their students, and were also helpful in planning future study or career goals.
I started my studies at SFU studying for a bachelors in computer science, and transitioned into a joint computer and mathematics degree. The two subjects fit together very well. I also had an opportunity at the end of my degree to do undergraduate research.
My research was in the area of computer algebra under professor Monagan. The topic was the design and implementation of algorithms for working with polynomials in multiple variables whose coefficients are in a finite field. The goal was to find the greatest common divisor of two such polynomials, and we also worked on the problem of finding their resultant.
We started with designing a good modular algorithm in the Maple language. Such an algorithm maps the polynomial to a corresponding evaluation by evaluating its variables at some collection of points. The target problem is solved multple times in the image space, and the results are interpolated to reconstruct the solution to the original problem.
Once we had an algorithm, I worked on implementing it in the C language. In the process we found many ways to optimize the code. We then worked on making it run on many processors of a computer in parallel. In the process I learned a lot about topics such as the discrete fast fourier transform and computer parallelization. The algorithm developed will be included in a future release of maple.
The research experience was very helpful for me. It helped me to become more comfortable in programming, and it helped be to experience some of how mathematics research is done. It also gave me a chance to learn how to present results, both in written and spoken format.