Hello, I'm currently a physics major but am thinking about changing to math with a minor in computer science. I've always been interested in areas of computer science that required a lot of math such as cryptography but mainly computer graphics. The math degree is very lenient in the sense that I can pick most of the upper division courses. I tried googling which maths would be of the most use in computer science in general but usually the results I found were just "trig, linear algebra, calculus" etc which isn't what I'm looking for. I'm posting in computer graphics because I figured this would be the most math-heavy programming section.
Currently for math I have calculus 1-3, linear algebra, differential equations, and a course in discrete math.
Here are my questions:(gear 3 and 4 towards computer graphics/simulations, I suppose):
1) Do different branches of computer science require vastly different branches of math or is it all similar?
2) For computer graphics/simulations. Would I be better off doing math or physics for this assuming equal amount of programming for both?
3) A 2-semester sequence that I have to choose between is:
Survey of Multivariable Calculus (More advanced vector calculus, more max/min geometry stuff, complex functions etc)
and
Survey of Partial Differential Equations (Just all PDEs and orthogonal functions and stuff)
OR
Real Analysis 1
and
Real analysis 2
I'm not sure how useful the more advanced calculus stuff is compared to the proof based courses like Real Analysis. Any ideas?
4) Lastly, which of these undergrad courses are the most important?
Numerical Analysis 1 & 2
Combinatorics 1 & 2
Complex Variables 1 & 2
Topology 1 & 2
Another discrete math course
Advanced Linear Algebra (probably a lot of proofs)
Abstract Algebra
Probability Theory
Advanced Geometry (Hilbert postulates, Lobachevskian geometries etc)
Statistical inference
Theory of Numbers 1 & 2 (The Euclidean algorithm and unique factorization; arithmetical functions; congruences, reduced residue systems; primitive roots; certain diophantine equations.)
Correct me if I'm wrong but I'm thinking numerical analysis, combinatorics, and another discrete math should definitely be taken for any branch. But what else?