GNU Octave is a scientific programming language which is an open-source version of Matlab. It supports multiple operation systems: Linux, Windows, MAC, and BSD. I use Octave as a Matlab alternative.

Octave Forge is a repository of Octave packages: 68 maintained and 33 unmaintained packages (as of Dec. 18, 2017). The packages (of my interest) include geometry, linear algebra, statisticsGNU scientific library, (stochastic concept & maximum entropy for) time series analysis, time/frequency analysis,  data smoothingeconometrics (including MLE & GMM), signal processing,  image processing (image acquisition), audio processing (unmaintained)communications, controlmultivariate normal distribution clustering, statistics & machine learning toolbox for missing values, non-linear optimizationfuzzy logic, genetic algorithm, ann (unmaintained) and feed forward neural network (unmaintained).

Installing a package is easy and the package manual is well-documented.
“>> pkg install -forge package_name” installs a package. For example,
“>> pkg install -forge linear-algebra” installs the linear-algebra package.

“>> pkg load package_name” load a package for usage. For example,
“>> pkg load linear-algebra” prepares the linear-algebra package.

To list all installed packages,
>> pkg list
Package Name | Version | Installation directory
audio *|    1.1.4   |  /home/user_name/octave/audio-1.1.4
control |   3.0.0  |  /home/user_name/octave/control-3.0.0
linear-algebra *|   2.2.2   |  /home/user_name/octave/linear-algebra-2.2.2
signal |   1.3.2   |  /home/user_name/octave/signal-1.3.2

Download & Install
How to install Octave on Windows
How to install Octave on Linux

GNU Octave Manual
Octave Core Function List
List of Functions by Package
Alphabetical List of Functions