If you are looking for free software that you can use in teaching as well as solving problems, you may want to check the list below. Most of the descriptions here came from Wikipedia.

Archim– Archim is a freeware program for drawing the graphs of all kinds of functions. It is useful tool for students, teachers and anyone who interest in graphing. User can change many things such color of the graph, grid colors, background, scales and perspective level of the displayed graph.

Axiom (Windows, Linux, Mac)- Axiom is a free general purpose computer algebra system. It consists of an interpreter environment, a compiler and a library, which defines a strongly typed, mathematically (mostly) correct type hierarchy.

Euler Math Toolbox is a powerful, versatile, mature software for numerical and symbolic computations written and maintained by R. Grothmannfrom the University of Eichstätt. Euler is similar to Matlab, but has an own style, and a slightly different syntax. Symbolic mathematics is supported in Euler using the open algebra system Maxima.

Freemat (Windows, Linux, Mac OS X)- FreeMat is free math software that is more advance and designed for engineering and scientific prototyping and data processing.

GeoGebra (Windows, GNU/Unix, Mac OS X)- GeoGebra is free math software for schools that joins geometry, algebra and calculus. User can free to copy, distribute and transmit GeoGebra for non-commercial purposes. The software is available for multiplatform include Windows, Linux and Mac. Among many other free mathematics software packages, GeoGebra is good that you can have a try.

Geonext (Windows, GNU/Unix,Mac OS X) – GEONEXT is dynamic mathematics software that provided for free of charge as learning and teaching tool. This free math software is also available for three main operating systems for Windows, Linux and Macintosh user. The software can be used for learning, teaching from elementary school up to calculus at high schools. GEONEXT is also good for user to try.

GnuPlot– (Mac, GNU/Linux) Gnuplot is a portable command-line driven interactive data and function plotting. The software is copyright, but user can freely distributed. User can plot both in 2D and 3

Graph(Windows)– Graph is an open source application used to draw mathematical graphs in a coordinate system. Anyone who wants to draw graphs of functions will find this program useful. The program makes it very easy to visualize a function and paste it into another program. It is also possible to do some mathematical calculations on the functions.

Graph Calculator 3D – is an easy-to-use tool that plots 2D and 3D functions. Plots regular and parametric equations, coordinates and tables, Cartesian/Polar coordinates in 2D, Cartesian/Cylindrical/Spherical coordinates in 3D, inequalities in 2D and 3D. It has also an animation and variable slider in 2D and 3D. It is capable of importing coordinates from excel and csv files. It is commercial, but it has a free version.

Mathrax (Mac, Windows) – MathTrax is a graphing tool for middle school and high school students to graph equations, physics simulations or plot data files. The graphs have descriptions and sound so you can hear and read about the graph. Blind and low vision users can access visual math data and graph or experiment with equations and datasets

Maxima (Windows, Linux, Mac)– Maxima is a symbolic-based mathematics software providing an number of functions for algebraic manipulations, calculus operations, matrix and linear algebra and other mathematical calculations.

Microsoft Mathematics – Microsoft Mathematics (formerly Microsoft Math) is an educational program, designed for Microsoft Windows, that allows users to solve math and science problems. Developed and maintained by Microsoft, it is primarily targeted for students as a learning tool.

NonEuclid– NonEuclid is an interactive Java software for creating ruler and compass constructions in both the Poincaré Disk and the upper half-plane models of Hyperbolic Geometry.

Octave– GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.

PARI-GP(Windows, Linux, Mac) – The PARI/GP system is a package that is capable of doing formal computations on recursive types at high speed. It is primarily aimed at number theorists. Its three main strengths of the system are its speed, the possibility of directly using data types that are familiar tomathematicians, and its extensive algebraic number theory module.

PSPP– PSPP is a free software application for analysis of sampled data. It has a graphical user interface and conventional command line interface. It is written in C, uses GNU Scientific Library for its mathematical routines, and plot utils for generating graphs.

Qalculate – Qualculate is a multi-purpose desktop calculator for GNU/Linux. It is small and simple to use but with much power and versatility underneath. Features include customizable functions, units, arbitrary precision, plotting, and user-friendly interface (KDE or GTK+).

Reduce – REDUCE is an interactive system for general algebraic computations of interest to mathematicians, scientists and engineers.

SAGE – SAGE is open source math software which is provided for free of charge and available for Windows, Linux and Macintosh platform. Use can use for studying many things about mathematics, including algebra, calculus, elementary to very advanced number theory, numerical computation, commutative algebra, group theory, graph theory, exact linear algebra and more.

Scilab– Scilab is a scientific software package for numerical computations providing a powerful open computing environment for engineering and scientific applications.

Scipy – SciPy (pronounced “Sigh Pie”) is open-source software for mathematics, science, and engineering. It is also the name of a very popular conference on scientific programming with Python. The SciPy library depends on NumPy, which provides convenient and fast N-dimensional array manipulation. The SciPy library is built to work with NumPy arrays, and provides many user-friendly and efficient numerical routines such as routines for numerical integration and optimization. Together, they run on all popular operating systems, are quick to install, and are free of charge. NumPy and SciPy are easy to use, but powerful enough to be depended upon by some of the world’s leading scientists and engineers

SymPy(Windows, Linux, Mac) – Sympy is a Python library for symbolic mathematics. It aims to become a full-featured computer algebra system(CAS) while keeping the code as simple as possible in order to be comprehensible and easily extensible. SymPy is written entirely in Python and does not require any external libraries, except optionally for plotting support.

Wingeom(Windows) – Wingeom is for high-precision geometric constructions in both two and three dimensions. Drawings can be highlighted and animated in a variety of ways

Winmat(Windows) – Winmat allows the user to calculate and edit matrices, and solve standard linear algebra problems. The program operates in real, complex, and integer mode.

Winplot(Windows) – Winplot is a general-purpose plotting utility, which can draw (and animate) curves and surfaces presented in a variety of formats.

Wiris – WIRIS CAS is an on-line platform for mathematical calculations designed for education. It is a CAS (Computer Algebra System) that also includes a DGS (Dynamic Geometry System) inside. You can access a powerful calculation toolbar through an HTML page that includes integrals and limits calculation, function graphing in 2D or 3D and symbolic matrices manipulation. It covers all mathematical topics from primary school to University level (Calculus, Algebra…).

Great list, I have been downloading and looking at other peoples software quite a lot recently. (So your list helped quite a lot)I am in the process of creating my own which can already be downloaded. Maybe if you get chance you can review it yourself and tell me what you think. It is being updated and improved on a weekly basis at the moment. I have given it a temporary name of “MathsTestForKids” It is free to download and use by anyone in the home,school, business. You can see it from the url below.http://mastersworldofcomputing.com/index.php