General Purpose Software
last updated 3/6/13
General Purpose

Lyx is software designed for typing beautiful and professional looking math.  Internally, it uses a system called LaTeX, a math typesetting program.  LaTeX gives you the ability to type integral signs, square roots, summations, etc.  It can handle just about any math notation that you need.  It is also designed to handle the formatting for you.  You type the text, and LaTex formats it automagically.  However, LaTeX requires the user to know a bunch of programming code in order to use those symbols.  Lyx provides a graphical user interface so that you don't need to learn the codes.  In other words, it provides nice looking menus for you to use.  It's like the equation editor from Word on steroids.  Note that you can do much more with Lyx than just pretty math type.  It's great for organizing a document with titles, subtitles, theorems, proofs, corollaries, equations, tables, figures, etc.  That may not sound like much until you have to start numbering everything.  As much as I like Word's numbering system, it's pretty limited.  Lyx can keep track of multiple number systems in the same document.  For example, you may want to number exercises, theorems, and figures separately.  Lyx does it for you!  This software comes highly recommended. 
Lyx Screenshot

Equation Editor
The equation editor in MSOffice is often overlooked as a piece of math software, but the version Microsoft introduced in 2007 and 2010 is quite robust.  For the casual mathematician, the equation editor is often all you will need to type high quality mathematics. It provides a user interface for most math symbols an amateur mathematician would want.  It supports keyboard shortcuts for many more of them (most are the LaTex codes which is nice feature).  The link to the left is my list of keyboard shortcuts for the symbols that I use the most.  It's not exhaustive, but it's a good start. The biggest feature it lacks is a number system to number your equations.
Equation Editor Screenshot


Maxima is a computer algebra system that is designed to manipulate symbolic or numeric expressions.  For instance, that means it can differentiate and integrate functions.  It can solve systems of equations  It has built in graphing capability for 2 and 3 dimensions.  If you've ever used Maple or Mathematica, it is a poor man's version of that.  It doesn't have near the feature set of the two big players, but what it does, it does well.  And of course, it does it free!  As it is a CAS, it does have a steep learning curve (albeit with a poor help menu).  It tries to alleviate that with some panels on the left to help the user.  Essentially, it's a privative GUI so that you don't have to know the commands.   Note that on a Windows machine, you will actually run wxMaxima which is a shell for running Maxima (which is cross platform).  The program wxMaxima will install Maxima automatically.  From Maxima's website, you can download a version for just about any system.
Maxima Screenshot

Sage is a multipurpose math environment.  It combines many existing math software packages into one easy to use interface.  To see the full list of almost 100 packages, click here.  I have just started using it as I wanted a 3D plotter for Vector Calculus.  Being a complete math environment, the learning curve is fairly steep.  Google seems to be the best way to find examples of how to get Sage to do what you want.  Once you learn how to do it, it's not hard.  It just takes time, but I think it is worth the effort.

From their website, it supports "basic algebra, calculus, elementary to very advanced number theory, cryptography, numerical computation, commutative algebra, group theory, combinatorics, graph theory, exact linear algebra and much more".  Note that it runs through the web so it is cross platform with no need to install.   However, you will need to create an account with them to use it.  However, if you have a google account or a yahoo account, you can also use that.  If you want to, you do have the ability to set it up on a server and run a local copy on your own network.
Sage Screenshot