Sage is built out of nearly 100 open-source packages and features a unified interface. It can be used to study elementary and advanced, pure and applied mathematics. This includes a huge range of mathematics, including 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. It combines various software packages and seamlessly integrates their functionality into a common experience. It is well-suited for education and research.
The user interface is a notebook in a web browser or the command line. Using the notebook, you can connect it either locally to your own it installation or to a server on the network.
Sage aims to provide everything mathematicians, researchers and students need to do their calculations. Is built upon open-source software and it is fully open-source by itself. It is free to use worldwide for private, commercial, governmental,and other uses. Its license is the well known GPL and everyone is allowed to download it, install it on an unlimited number of computers and redistribute copies.
There are three basic ways for the user to interact with it: a web-interface, accessible through a web-browser while it is running on your local machine or on a server, a rich command-line interface and as a Python library.
It uses Python as its “connecting language” to interact with all its components. Python is also its primary interface language and hence, it does not invent a new programming language as other mathematical software systems do. Python is well established among research communities and makes interfacing even less complicated.
These are some features that you can find in it:
- A browser-based notebook for review and re-use of previous inputs and outputs, including graphics and text annotations. Compatible with Firefox, Opera, Konqueror, and Safari.
- Notebooks can be accessed locally or remotely and the connection can be secured with HTTPS.
- A text-based command-line interface using IPython
- Support for parallel processing using multi-core processors, multiple processors, or distributed computing
- Calculus using Maxima and SymPy
- Numerical linear algebra using the GSL, SciPy and NumPy
- Libraries of elementary and special mathematical functions
- 2D and 3D graphs of symbolic functions and numerical data
- Matrix manipulation, including sparse arrays
- Multivariate statistics libraries, using R and SciPy
- A toolkit for adding user interfaces to calculations and applications
- Graph theory visualization and analysis tools
- Libraries of number theory functions
- Support for complex numbers, arbitrary precision and symbolic computation
- Technical word processing including formula editing and embedding it within LaTeX documents
- The Python standard library, including tools for connecting to SQL, HTTP, HTTPS, NNTP, IMAP, SSH, IRC, FTP and others
- Interfaces to some third-party applications like Mathematica, Magma, R, and Maple
- MoinMoin as a Wiki system for knowledge management
- Documentation using Sphinx
- An automated test-suite
- Execution of Fortran, C, C++, and Cython code
It has very clean syntax, extremely well documented and the coding is very clear. If you always wanted something like MATLAB but the price tag is a bit,well, pricey, forget about it, Sage fits the bill perfectly.
Sage Blog: http://planet.sagemath.org/
Facebook page: https://www.facebook.com/pages/Sage-Math/26593144945
Twitter Account: @sagemath