I'm currently a second-year university student considering applying to a PhD program in physics. I'm leaning towards theoretical physics, although I haven't really experienced enough to make a clear decision. I'm beginning to be involved in research with a theorist this semester, but I was wondering the sorts of math I would need to get into a top 10 physics PhD program. I've already taken calculus, math methods, a discrete mathematics class, and linear algebra. I'm considering taking real analysis my junior year, and could probably take complex analysis after that during the senior year. What other math should I take to increase my shots at good graduate schools? What math could I wait until graduate school to take? Should I expect to learn most of my formal math before grad school?