This second edition is a substantial revision with a complete rewriting of many chapters and the addition of new ones, including chapters on algebras, representation of Clifford algebras, fibre bundles, and gauge theories. The spirit of the first edition, namely the balance between rigour and physical application, has been maintained, as is the abundance of historical notes and worked out examples that demonstrate the "unreasonable effectiveness of mathematics" in modern physics.