Mathematica allows users to write down formulas (matrices, determinants, integration, derivatives, etc) and also to solve mathematical problems.
Don't know yet about diagrams though.
We have the use of this software in our computer syllabus.
Maybe you should try it out.