Fall 2021

Fall 2021 Projects

Cracking the Enigma

Turing 50 pound note.

Project Supervisor: James Freitag

The Enigma was a device used by German forces to send and recieve encrypted messages during World War II. It is estimated that around 40,000 of the machines were built during the war. A team of British scientists including the famous mathematician Alan Turing used a combination of computers and mathematics to build electronic machines capable of decrypting the secret messages encoded by Enigma machines. The goal of this project is to build programs to decode several enigma-type cryptography machines. We may not have the quite as big a team as the British did at Bletchley park, but we’ll benefit from 80 years of computer hardware and software development. The stakes of our main decryption project don’t involve the outcome of a major war and none of us is likely to appear on a fifty pound note, but there is a small cash prize that we will win if successful.


Prerequisites.   Programming experience.  Math 330 preferred but not required.

Finding roots of matrix polynomials

Word roots

Project Supervisor: Wouter Van Limbeek

By the Fundamental Theorem of Algebra, a polynomial with real coefficients has only finitely many roots, and their number is at most the degree of the polynomial. In this project, we study polynomials whose coefficients are not real numbers, but matrices. In this case, the roots are much less understood. This project will implement numerical methods for finding the roots of such polynomials, and use these results to study the geometry of the solutions of such equations.


Prerequisites.   Linear algebra and some programming experience required.