Open Source Tools for Mathematicians


Open-source software refers to software that can be modified and improved. Open-source software is software with source code that anyone can inspect, modify, and enhance. The source code (programs) of open source software is freely available for anyone to improve on and redistribute. Programmers can remove bugs, add features and enhance the application of the software. Open-source software can be shared, modified with other users. LibreOffice is a free open-source alternative to Microsoft Office. The other type of software is proprietary software whose source code is not available. Only the original developers of proprietary software can modify such software. Microsoft Office is an example of proprietary software. Users of such proprietary or closed software must agree not to redistribute or modify it.

Open-source software is available for most applications, including mathematics. We discuss here just a few of the many open-source software used in mathematics.

SciPy

SciPy is an open-source Python library. SciPy is pronounced as “Sigh Pie”; it is a Python-based ecosystem of open-source software for mathematics, science, and engineering. The core packages are Python, SciPy Library, NumPy, IPython, Matplotlib, IPython, SymPy, and Pandas. It supports special functions, integration, ordinary differential equation (ODE) solvers, gradient optimization, and parallel programming tools. SciPy is freely available. It is distributed as open-source software, meaning that you have complete access to the source code. SciPy has support for mathematical functions such as trigonometric, hyperbolic, arithmetic operations, floating-point routines, complex numbers, logarithms and exponents, miscellaneous functions such as Heaviside step function, one-dimensional linear interpolation, linear algebra problems, etc.

Download from https://www.scipy.org/

Isabelle

Isabelle is a generic proof assistant. It is an automatic theorem prover. Automated theorem proving is a subfield of automated reasoning and mathematical logic dealing with proving mathematical theorems by computer programs. Isabelle allows mathematical formulas to be expressed in a formal language and provides tools for proving those formulas in a logical calculus. The main application is the formalization of mathematical proofs and in particular, formal verification, which includes proving the correctness of computer software and proving properties of computer languages and protocols. Automated theorem proving uses a set of techniques used to verify mathematical statements mechanically using logical reasoning. Isabelle has been used to formalize numerous theorems from mathematics and computer science, like Gödel’s completeness theorem, Gödel’s theorem about the consistency of the axiom of choice, the prime number theorem, and properties of programming language semantics. The Isabelle theorem prover is free software.

Download from https://isabelle.in.tum.de/

R

R is a language and environment for statistical computing and graphics. R provides statistical (linear and nonlinear modeling, classical statistical tests, time-series analysis, classification, clustering, …) and graphical techniques; it is highly extensible. R is an integrated suite of software for data manipulation, calculation, and graphical display. It includes

  • an effective data handling and storage facility,
  • operators for calculations on arrays, and matrices,
  • an integrated collection of tools for data analysis,
  • graphical facilities for data analysis, and
  • a simple, yet well-developed, and effective programming language which includes conditionals, loops, user-defined recursive functions and input, and output facilities.
  • For computationally-intensive tasks, C, C++ and Fortran code can be linked and called at run time.

Download from https://www.r-project.org/

Scilab

Scilab is a free and open-source software for engineers & scientists. It is used for

Scilab is a free and open-source software for engineers & scientists. It is used for

  • numerical analysis – differentiation and integration, interpolation and regression, matrix calculations, Fourier analysis, and linear systems of equations.
  • data visualization – Scilab provides graphics functions to visualize and offer many ways to create and customize various types of plots and charts such as line charts, pie charts, histograms. Graphics can be exported in many formats such as PNG, PDF, SVG, EPS. It can also be used for animations of mathematical functions.
  • algorithm development – Scilab is a high-level programming language for scientific programming. It enables a rapid prototyping of algorithms. There is no need to deal with complex issues like memory management, a variable definition that is found in programming languages such as C and Fortran. These tasks are natively handled by Scilab, which results in a fewer lines of code for complex mathematical operations. It also comes with an advanced data structure such as polynomials and matrices.
  • app development – Scilab provides facilities to manage data exchanges with external tools such as advanced data structures and user-defined data types, reading and writing Matlab binary files and Excel files.

Download from https://www.scilab.org/

GNU Octave

GNU Octave has a powerful mathematics-oriented syntax with built-in plotting and visualization tools. This is compatible with Matlab and the best alternative to Matlab. The Octave interpreter can be run in GUI mode or as a console. Octave is an interpreted language. It can be used to solve systems of equations with linear algebra operations on vectors and matrices, visualize data in 2D and 3D. It supports calculations for complex numbers and matrices. There is a large mathematics function library.

Download from https://www.gnu.org/software/octave/

LaTex

LaTeX is pronounced as «Lay-tech». LaTex is a document preparation system. Mathematical documents are very complex due to the extensive use of mathematical and greek symbols. LaTex makes it easy to create mathematics-based documents. It has all features designed for the production of technical and scientific documentation. Most scientific publishers accept manuscripts only if they are in LaTeX. LaTex is available as free software. The features of LaTex are:

  • Typesetting technical reports, books, and journal articles.
  • Typesetting of complex mathematical formulas.
  • Advanced typesetting of mathematics with AMS-LaTeX.
  • Automatic generation of bibliographies and indexes.
  • Multi-lingual typesetting.
  • Inclusion of artwork.
  • Using PostScript fonts.

Download from https://www.latex-project.org/

There you have a vast collection of tools for mathematics. Select the one that meets your requirement.

When you buy any of these books from this website, I may get a small commission from Amazon. This will NOT increase the cost of books for you but will help me to some extent in covering cost of maintaining this website and providing quality content. Thank you.



Categories: Blog, Mathematics, Programming

Tags: , , , , , ,

2 replies

  1. Hey there! I’ve been reading your weblog for a while now and finally got the courage to go ahead and give you a shout out from Dallas Texas! Just wanted to say keep up the good job!

    Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: