Octave is a high-level programming language designed for numerical computation, scientific analysis and mathematical modelling. It provides an environment for solving mathematical problems, processing data and developing computational algorithms.
Its matrix-oriented language is largely compatible with MATLAB, allowing many existing scripts and functions to run with little or no modification. Octave is widely applicable to engineering, mathematics, physics and other scientific disciplines.
The application provides both a graphical development environment and a command-line interface, making it suitable for interactive experimentation and automated calculations.
This is free and open source software.
Key Features
- Perform matrix and vector operations, including matrix decompositions, eigenvalue calculations and sparse matrix computations.
- Solve systems of linear and nonlinear equations using built-in numerical algorithms.
- Numerically integrate functions and solve ordinary and differential-algebraic equations.
- Find minima and maxima of mathematical functions using optimisation algorithms.
- Create 2D and 3D plots, contour maps, surface visualisations and other graphical representations of data.
- Customise plots with labels, legends, colours, axes and annotations.
- Perform statistical analysis, including descriptive statistics, correlation, regression and probability calculations.
- Process signals using Fourier transforms, convolution, filtering and related numerical operations.
- Integrated Qt-based development environment with a source editor, workspace browser, variable editor and documentation viewer.
- Debug scripts using breakpoints, execution stepping and variable inspection.
- Analyse code performance using the built-in profiler.
- Command history, automatic completion and contextual help for interactive programming.
- Import and export numerical data using text files, CSV, MATLAB-compatible files and other supported formats.
- Create custom functions and extend functionality through modules written in C, C++ and Fortran.
- Additional scientific capabilities through extensions for symbolic mathematics, signal processing and control systems.
- Cross-platform support – runs on Linux, BSD, macOS, and Windows.
Website: octave.org
Support:
Developer: John W. Eaton and many contributors
License: GNU General Public License v3.0

Octave is written in C, C++ and Fortran. Learn C with our recommended free books and free tutorials. Learn C++ with our recommended free books and free tutorials. Learn Fortran with our recommended free books and free tutorials.
Related Software
| Plotting Tools | |
|---|---|
| matplotlib | Python based plotting system in a style similar to Matlab |
| ggplot2 | Powerful R package for declaratively creating graphics |
| gnuplot | Command-line driven interactive plotting program |
| ROOT | Solves the data analysis challenges of high-energy physics |
| Octave | Built-in plotting and visualization tools |
| DataMelt | Produces professional graphics with libraries for data manipulation |
| Veusz | Scientific plotting and graphing program |
| LabPlot | Data plotting and function analysis tool for KDE |
| PyQtGraph | Scientific Graphics and GUI Library for Python |
| Makie | interactive data visualizations and plotting for Julia |
| GLE | Graphics Layout Engine |
| PyVista | 3D plotting and mesh analysis |
| PLplot | Scientific plotting library |
| AlphaPlot | Fork of SciDAVis |
| SciDAVis | Scientific Data Analysis and Visualization |
| RLPlot | Generate publication quality graphs |
| Genius | Educational tool in mathematics and for research |
| ZeGrapher | 2D math and data plotter |
| Uniplot | Lightweight terminal plotting library for Python |
| Kst | Real-time large dataset viewing and plotting tool |
| Ctioga2 | Command-line plotting utility |
| Plots | Simple graph plotting app for GNOME |
| brplot | Ssmall application and library that plots data |
| SSPlot | Simple plotting utility and numerical simulator |
| KmPlot | Supports Cartesian, parametric, polar, implicit and differential plots |
| Charta | Generate colorful terminal graphs |
| Incplot | Command like tool for drawing great looking plots in the terminal |
Read our verdict in the software roundup.
| Computer Algebra Systems | |
|---|---|
| Scilab | Numerical computational package |
| Maxima | System for the manipulation of symbolic and numerical expressions |
| Octave | Powerful programming language with built-in plotting and visualization tools |
| SageMath | Open source alternative to Magma, Maple, Mathematica and Matlab |
| SymPy | Python library for symbolic mathematics |
| SINGULAR | Computer Algebra System for polynomial computations |
| Macaulay2 | Software system for research in algebraic geometry |
| Cadabra | Symbolic computer algebra system for field theory problems |
| PARI/GP | Widely used algebra system designed for fast computations in number theory |
| GAP | System for computational discrete algebra |
| FriCAS | Fork of Axiom |
| CoCoA | System for doing computations in commutative algebra |
| Mathics | General-purpose CAS with Mathematica-compatible syntax and functions |
| FORM | Symbolic Manipulation System |
| Nelson | Numerical computational language |
| wxMaxima | GUI for the sublime Maxima CAS |
| Xcas | Cross-platform mathematical environment |
| REDUCE | General-purpose computer algebra system for symbolic computation |
| OSCAR | Comprehensive computer algebra system for advanced mathematics |
| Axiom | General purpose Computer Algebra system |
| Symja | Computer algebra system and symbolic mathematics library |
| CGSuite | For research in combinatorial game theory |
| Eigenmath | Compact symbolic mathematics and computer algebra application |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.