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 can also be used as a batch-oriented language.
Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave’s own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.
Octave is able to perform matrix and vector mathematics, numerically solve differential equations, and plot data uses gnuplot.
The Octave-Forge Symbolic package adds symbolic calculation features to Octave. These include common Computer Algebra System tools such as algebraic operations, calculus, equation solving, Fourier and Laplace transforms, variable precision arithmetic and other features.
Key Features
- Graphical user interface (GUI) and a integrated development environment (IDE) based on Qt.
- Command and variable name completion.
- Command history.
- Data structures.
- Short-circuit Boolean operators.
- Increment and decrement operators.
- Unwind-protect.
- Variable-length argument lists.
- Variable-length return lists.
- Profiler.
- C++ integration – run Octave code directly in a C++ program.
- Designed with MATLAB compatibility in mind with function compatibility.
- Cross-platform support – runs under Linux, BSD, macOS, and Windows.
Octave is written in C++ using the C++ standard library.
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 |
| 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 |
| Axiom | General purpose Computer Algebra system |
| Symja | Computer algebra system and symbolic mathematics library |
| CGSuite | For research in combinatorial game theory |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

