I want some recommendation on which software I should install on my computer. I'm looking for an open source program for general abstract mathematical purposes (as opposed to applied mathematics).

I would likely use it for group theory, number theory, algebraic geometry and probably polytopes.

The kind of program I have in mind is Mathematica or Matlab. Although probably those are not designed for abstract mathematics.

Any suggestions?