The main prerequisite is strong mathematical maturity. Some familiarity with the following concepts will also be helpful: linear algebra, abstract algebra (including algebraic objects such as vector ...