For an open source numerical computing environment, the strongest matches are julialang/julia (Julia is a high-performance numerical computing environment and dynamic), ipython/ipython (IPython provides an interactive REPL, runtime introspection, and a) and jounce/surge (Surge provides high-performance matrix mathematics and signal processing tools). xianyi/openblas and scipy/scipy round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “open source alternatives to matlab”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Julia is a high-performance, dynamic programming language designed for scientific computing, data analysis, and complex mathematical modeling. It provides a specialized runtime environment that manages memory allocation and parallel processing, utilizing a just-in-time compiler to translate high-level source code into optimized machine instructions. This architecture allows the language to achieve execution speeds comparable to statically compiled languages while maintaining the flexibility of a dynamic scripting environment. The language is distinguished by its multiple dispatch system, whic
Julia is a high-performance numerical computing environment and dynamic programming language designed for scientific computing, featuring an interactive REPL, multiple dispatch, and an extensible package ecosystem that serves as a direct replacement for MATLAB.
IPython is an interactive computing environment and programmable extension of the Python read-eval-print loop. It serves as a development tool for writing, testing, and executing code in a live environment designed for rapid prototyping and data exploration. The system differentiates itself through a specialized set of magic commands for environment configuration and system shell integration. It features an object introspection engine for analyzing live program objects at runtime and a frontend-agnostic kernel that allows the execution logic to be embedded into other applications or graphical
IPython provides an interactive REPL, runtime introspection, and a programmable scripting foundation widely used for numerical computing, though it relies on external libraries like NumPy and SciPy to match the full matrix and visualization capabilities of MATLAB.
Surge is a Swift library for high-performance numerical analysis, linear algebra, digital signal processing, and accelerated image manipulation. It utilizes the Accelerate framework to provide hardware-accelerated tools for matrix mathematics and signal processing. The library provides specialized capabilities for digital signal processing, including convolution, signal similarity analysis through cross-correlation, and domain transformations using fast Fourier transforms. It also includes a suite of tools for the rapid transformation and analysis of pixel buffers and image data. Beyond sign
Surge provides high-performance matrix mathematics and signal processing tools for Swift, but it is a code-level library rather than an interactive numerical computing environment with a REPL and desktop workspace.
OpenBLAS is a high-performance library for basic linear algebra subprograms that provides optimized matrix and vector operations. It serves as a multi-architecture math backend and numerical computing framework designed to execute complex mathematical calculations and high-speed numerical analysis. The library functions as an optimized CPU math library that detects hardware at runtime to apply the most efficient operation kernels for the specific processor. It supports multiple CPU targets through a combination of optimized assembly and C implementations. The project covers high-performance
OpenBLAS provides optimized linear algebra routines used for matrix math, but it is a math library rather than an interactive numerical computing environment with a REPL and plotting tools like MATLAB.
SciPy is a scientific computing library for Python that provides a comprehensive collection of mathematical algorithms and numerical tools for research and engineering. It functions as a high-performance numerical analysis framework, bridging high-level Python code with compiled C and Fortran routines to execute complex computations at hardware speeds. The library is built upon array-based data structures that utilize strided memory layouts to enable efficient data manipulation and slicing. By employing vectorized operation dispatch and linking to optimized hardware-specific linear algebra li
SciPy provides robust numerical algorithms and linear algebra for Python, but it is a library rather than a standalone interactive environment or MATLAB replacement.
NumPy is a foundational library for scientific computing in Python, providing a comprehensive framework for managing and manipulating large-scale numerical information. It centers on high-performance multidimensional array objects that serve as the primary data structure for complex mathematical operations and data analysis workflows. The library distinguishes itself through specialized mechanisms for handling multidimensional data, including advanced indexing, slicing, and broadcasting techniques that allow for efficient operations across arrays of varying shapes. It utilizes strided metadat
NumPy provides foundational array manipulation and linear algebra routines for Python, but it is a library building block rather than a complete standalone desktop computing environment with a built-in REPL and plotting GUI.
Math.js is a comprehensive JavaScript library for scientific, complex, and arbitrary precision calculations. It functions as a symbolic computation engine, a linear algebra toolkit, a statistical analysis library, and a unit conversion system. The project distinguishes itself by providing a symbolic engine capable of parsing, simplifying, and manipulating mathematical expressions algebraically without requiring immediate numerical evaluation. It includes a framework for defining and converting physical quantities with units of measure and automatic prefix support. The library covers a broad
Math.js provides comprehensive numerical computing and matrix manipulation capabilities, but it functions as a JavaScript library to embed in applications rather than a standalone interactive desktop environment like MATLAB.
PRML is a Python machine learning library and statistical learning toolkit. It provides code implementations of supervised and unsupervised learning concepts, including regression, classification, and neural network algorithms for statistical data modeling. The project functions as a pattern recognition toolkit used to identify theoretical structures within numerical datasets. It includes a neural network framework for solving nonlinear data mappings and a linear algebra toolkit that utilizes vectorized operations and matrix calculations. The library covers a broad range of capabilities, inc
This project provides Python-based machine learning implementations and statistical notebooks rather than a complete numerical computing environment and interactive MATLAB-replacement workspace.
Smile is a comprehensive JVM machine learning library and statistical computing toolkit. It provides a suite of algorithms for classification, regression, and clustering, implemented natively for Java, Scala, and Kotlin. The project also functions as a deep learning framework, a natural language processing library, and an inference engine for large language models. The library distinguishes itself through GPU acceleration via LibTorch bindings and support for the ONNX model interchange format. It includes specialized capabilities for large language model inference, featuring Byte-Pair Encodin
This repository is a machine learning and statistical toolkit for the JVM rather than an interactive numerical computing environment and matrix-manipulation language designed as a MATLAB replacement.
Gonum is a numerical computing library for the Go programming language, providing a collection of packages for scientific computing, linear algebra, statistics, and optimization. It functions as a framework for performing complex numerical computations and solving systems of linear equations. The project includes a dedicated graph analysis framework for modeling network graphs and solving connectivity and pathfinding problems. It also provides a statistical analysis toolkit for computing descriptive and inferential statistics and estimating mixture entropy. The library's capability surface c
Gonum provides numerical, linear algebra, and statistical packages for Go, but it is a library rather than a standalone interactive environment or MATLAB replacement with a REPL and workspace.
This project is a collection of foundational machine learning algorithms and data science tools implemented in Python. It focuses on building the logic of these tools using basic programming primitives rather than relying on specialized libraries. The implementation covers several core domains, including a linear algebra library for matrix and vector operations, a statistical analysis toolkit for probability and hypothesis testing, and a framework for map-reduce distributed processing. It also includes implementations for natural language processing, graph theory for network analysis, and var
This project provides educational Python implementations of data science algorithms and vector operations from scratch, but it lacks the interactive environment, scripting language, and plotting tools needed for a full numerical computing workspace.
ClojureScript is a Lisp-based compiler and runtime that translates Clojure source code into JavaScript. It enables functional programming across different JavaScript engines and platforms, allowing developers to build user interfaces and applications for web browsers and server environments. The project provides a read-eval-print loop for executing code live within a browser or server for immediate feedback. This facilitates an interactive development workflow where code can be written and tested in real time without restarting the application. The system covers a broad capability surface, i
ClojureScript is a Lisp-based programming language compiler rather than a numerical computing environment or MATLAB alternative, making it the wrong category for this search.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| julialang/julia | 48.9K | Julia | MIT | |
| ipython/ipython | 16.7K | Python | BSD-3-Clause | |
| jounce/surge | 5.3K | Swift | MIT | |
| xianyi/openblas | 7.5K | C | BSD-3-Clause | |
| scipy/scipy | 14.5K | Python | bsd-3-clause | |
| numpy/numpy | 32.2K | Python | NOASSERTION | |
| josdejong/mathjs | 15K | JavaScript | Apache-2.0 | |
| ctgk/prml | 11.7K | Jupyter Notebook | MIT | |
| haifengl/smile | 6.4K | Java | NOASSERTION | |
| gonum/gonum | 8.3K | Go | bsd-3-clause |