# Ideas for Student Projects

Contents

## Number Theory Projects (Undergraduate or Graduate)

### Fourier Series attached to L-series of elliptic curves

Extend the main idea of this book to elliptic curve L-series. In particular, in this book, Mazur and I define a Fourier series (non-tempered) distribution attached to a construction related to the prime counting function, and find (conjecture?) that it has support at the zeros of the Zeta function. One can do something similar for elliptic curves, and it would be interesting to get numerical data and nail down the relevant theory in this more general context.

### Hidden Markov Models and Number Theory

Hidden Markov Models (HMM) are statistical models that are used in machine learning (e.g., speech recognition), Biology (finding genese and protein structure), and other areas of applied mathematics. This project is to systematically investigate many different statistical phenomena arising in number theory, and see if they have any deeper structure when viewed from the perspective of HMM's.

### Tables of Modular forms and related data

Modernize, expand and make any of these tables more useful: http://wstein.org/Tables/. There's lot of useful information about this here: http://wiki.sagemath.org/days17/projects/presagedays/discussion

### Create an iPad version of my Riemann Hypothesis book (with Mazur)

Program an iPad app version of this book: http://wstein.org/rh/

## Number Theory Projects (Graduate Student Only)

### Implement algorithms for computing Hilbert modular forms

There is no open source code to compute anything related to Hilbert modular forms. Fix this terrible deficiency, then do new work on computational investigations into the BSD conjecture over totally real fields.

## Sage Projects (Undergraduate or Graduate)

These all heavily involve Sage.

### Revamp and enlarge the Sage Constructions Guide

http://www.sagemath.org/doc/constructions/index.html

The Sage "Constructions" got is prominently listed in our documentation, right next to the tutorial. It is woefully, scary, out of date. Try looking at some of the examples related to plotting to see what I mean, e.g., where it starts: "Plotting in Sage can be done in many different ways. You can plot a function (in 2 or 3 dimensions) or a set of points (in 2-D only) via gnuplot, you can plot a solution to a differential equation via Maxima (which in turn calls gnuplot or openmath), or you can use Singularâ€™s interface with the plotting package surf (which does not come with Sage). gnuplot does not have an implicit plotting command, so if you want to plot a curve or surface using an implicit plot, it is best to use the Singularâ€™s interface to surf, as described in chapter ch:AG, Algebraic geometry."

### Implement puzzle solvers in Sage

If you type `sage.games.[tab key]`, you'll see Sage only has solvers for Sudoku and Hexad. Implement solvers for other mathematical games. Some relevant code for solving other puzzles is here. There are thousands of mathematical puzzles, so this project is fairly open ended. It can range from including some Python packages found via a Google search to implementing an algorithm to play Chess.

### Move interacts into the Sage standard core library

There are hundreds of interacts here. As of Sage-4.4 (or whenever this patch goes in), it will be possible to include interacts in Sage. They will be available by typing `interact.[tab key]` in a notebook cells. The project is to move any of the interacts from the wiki into Sage. Every one is potentially difficult, and requires thought, testing, and hard work.